2010-07-01 96 views
5

belirteç START_OBJECT dışına java.lang.Class örneğini serisini Canben propperly alıyorum hata anlayamıyorum

org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.lang.Class out of START_OBJECT token at [Source: [email protected]; line: 1, column: 1] at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:159) at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:192) at org.codehaus.jackson.map.deser.StdDeserializer$ClassDeserializer.deserialize(StdDeserializer.java:439) at org.codehaus.jackson.map.deser.StdDeserializer$ClassDeserializer.deserialize(StdDeserializer.java:421) at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:1588) at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1116) at com.path.parser.JSon.Parser(JSon.java:65) at com.path.parser.JSon.main(JSon.java:29)

neler Anlamında mı??

Belki bunu biliyorsam, hatamı bulabilirim.

cevap

10

Senin sorunun son çizgidir:

MetadataContentBean.class.getClass() 

Bu demektir görürseniz .... "Bana bu Class nesne için Class nesneyi almak sonra bana MetadataContentBean sınıf için Class nesne almak ve" demek istedigim. Yani Jackson'dan JSON'unuzu Class nesnesine serpiştirmesini ve bunun nasıl yapıldığını bilmediğini soruyorsunuz. türü "java.lang.Class" JSON dize olarak tefrika edilir:

Bu sadece

MetadataContentBean.class 
+0

Teşekkürler, sorun buydu, ama yine de hatanın ne anlama geldiğini bilmek istiyorum !! Tekrar teşekkürler –

4

Bu muhtemelen diğer soruya ilişkin, ama sadece cevabı tamamlamak için, hata tutarsızlık gelir edilir olmalıdır (sınıf adı kendisi) ve fasulye gibi JSON nesnesi değildir. Yani deserializer bir JSON String görmeyi bekler, bunun yerine bir JSON Object (START_OBJECT ile başlar) görür ve istisna atar.

İlgili konular