2016-04-08 16 views
1

için uygun bir kurucu bulunamadı JSONMappingException for External Object, JSONMappingException for Class okudum, ancak ObjectNode sınıfı için çözüm bulamıyorum. Sana eşleştiricisindeki Nesne kaydetmek zorunda olduğunu anlıyoruz ama web hizmetiJsonMappingException: [simple type, class com.fasterxml.jackson.databind.node.ObjectNode]

mapper.registerModule(new GeoModule()); 

My POJO web hizmeti (call çalışıyorum arıyorum ben herhangi ObjectMapper sınıfı oluşturmadınız JSONMappingException for External Object Okuma By

ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode) örnek değişkeni içeren ReportQueryData.java).

ReportQueryData.java Şimdi istekte ReportQueryData içeren web hizmeti arıyorum ve ben hariç aşağıda bakacak am

import com.fasterxml.jackson.databind.node.ObjectNode; 

public class ReportQueryData { 
    private ObjectNode parentsData; 

    public ObjectNode getParentsData() { 
     return parentsData; 
    } 

    public void setParentsData(ObjectNode parentsData) { 
     this.parentsData = parentsData; 
    } 
} 

Şunlar da hoşunuza bu sınıf için varsayılan kurucu yazmak zorunda
org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type [simple type, class com.fasterxml.jackson.databind.node.ObjectNode]: can not instantiate from JSON object (need to add/enable type information?) 
[INFO] [talledLocalContainer] at [Source: [email protected]; line: 1, column: 155] (through reference chain: com.atlassian.qtm.model.ReportQueryData["parentsData"]) 
[INFO] [talledLocalContainer] at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163) 
[INFO] [talledLocalContainer] at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObjectUsingNonDefault(BeanDeserializer.java:740) 
[INFO] [talledLocalContainer] at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:683) 

cevap

0

Bu Düzenleme:: Bu sınıfı kendi sınıfınıza sarmayı deneyin ve sınıfınızı kullanın.

class A{ 

    A(String s){ 

    } 
} 

class B extends A{ 

    B(){ 
     super("str"); 
    } 
} 
+0

varsayılan derleyici bana yapıcı varsayılan sağlar bunu ReportQueryData herhangi yapıcı ilan etmedik. ObjectNode, varsayılan kurucu –

+0

hmm yok ObjectNode içinde sorunla karşı karşıyayım Yani, bu sınıf varsayılan yapıcı java yansıma API denir çünkü orada olması gerekir. Eğer bu sizin sınıfınız değilse, kendiniz yazın ve 'ObjectNode' 'dan genişletin ve bunu kullanın. –

+0

Önerilerimi görün. –