2016-03-18 24 views
1

Projem için özel bir JSON deserializer yazmak istiyorum. Deserializer'daki tüm belgeyi, sadece özel deserializer'ı kullanmak istediğim kısımda ayrıştırmak istemiyorum. JSON yapısında özel nesne üzerine özel Jackson JsonDeserializer <T> sınıfı nasıl kullanılır?

Bu

ben ayrıştırmak istiyorum JSON geçerli: http://pastebin.com/mkHy0Gj6

Şu anda, özel bir deserializer, belgenin baştan beri geçirilir kullanmayı deneyin ve el her şeyi ayrıştırmak zorunda, sadece sahip olmak istiyorum olaylar dizisindeki nesneler için bunu yapmak. Bunu nasıl yapabilirim? Kendi özel deserializer Ek açıklamadan

@JsonIgnoreProperties(ignoreUnknown = true)

ekleyebilir ve bunu serisini tercih alanları hariç her şeyi göz ardı eder http://pastebin.com/dePz0QFJ

+1

Neden özel bir desperizatör yazmak istersiniz? Bu, onun yüzünde, – beresfordt

+0

databinding kullanarak kolayca deserialize edilebilir görünmektedir. Tam JSON yayınlayamıyorum çünkü üzerinde bazı bilgilerim var, Steam API'den bir şey ayrıştırmaya çalışıyorum aslında. Bu ne deserializer ile ayrıştırmaya çalışıyorum yapısının yapısıdır. –

cevap

0

:

İşte benim şimdiki uygulamasıdır.

+0

Bu işe yaramaz gibi görünüyor, şu ana kadar sahip olduğum şey ... http://pastebin.com/dePz0QFJ Bu hatayı alıyorum: "com.fasterxml.jackson.databind.JsonMappingException: Root name 'name' does [basit tip, sınıf com.fasterxml.jackson.databind.JsonNode] için beklenen eşleşme ('JsonNode') eşleşmiyor. " –

+0

Ad, yanıt nesnesinin içine yerleştirildiğinde adı nasıl bulmayı bekliyorsunuz? – hofan41

+0

Yanıt nesnesinin, olay dizisinin içine girmeniz, her bir adı yazdırmak için olaylar dizisi boyunca yinelemeniz gerekir. – hofan41