के साथ JSON प्रतिक्रिया के भीतर नेस्टेड ऑब्जेक्ट्स से deserializing फ़ील्ड ऐसा लगता है कि यह एक काफी हल/अच्छी तरह से संबोधित मुद्दा होना चाहिए, लेकिन मुझे इस पर अधिक मार्गदर्शन नहीं मिल रहा है - उम्मीद है कि यह एक डुप्ली नहीं है।जैक्सन
{
"objects": [...],
"meta": {
"total": 5000,
"page": 1,
"result_pages": 20,
"links": {
"prev": null,
"next": "/api/v3/objects/somequery?page=2"
}
}
}
जाहिर है इस सरल है, लेकिन उम्मीद है कि यह भर में बिंदु हो जाता है:
मेरे परिदृश्य है कि मैं पृष्ठवार JSON जवाब है कि कुछ इस तरह दिखाई लेने वाली हूँ मूल रूप से है।
सभी मैं वास्तव में के बारे में परवाह objects
और next
क्षेत्रों रहे हैं, लेकिन जैसे मैं DTOs की एक पूरी पदानुक्रम बनाने के लिए सफलतापूर्वक एकत्रित फ़ील्ड deserialize करना होगा यह देख रहा है।
क्या कोई जैक्सन एनोटेशन है जो मुझे यह सब छोड़ने देगा? यदि नहीं, तो ऐसा करने के लिए सर्वोत्तम प्रथाओं का एक सेट है जिसमें अधिकांश खाली-खाली कक्षाएं और फ़ाइलें शामिल नहीं हैं?
यह शायद आसान नहीं होगा सिर्फ एक पर एक टिप्पणी के साथ कि ऊपर उल्लेख किया 'JsonDeserializer' उपयोग करना चाहते हैं मिल जाएगा 'स्ट्रिंग अगली' संपत्ति और बस उसी फ्लैट स्तर पर 'ऑब्जेक्ट्स' 'के रूप में, इसके फ्लैट का नाटक करें? –
@ap, आप कक्षा के शीर्ष पर भी इस एनोटेशन का अलग-अलग उपयोग कर सकते हैं, यहां प्रलेखन, https://fasterxml.github.io/jackson-databind/javadoc/2.3.0/com/fasterxml/jackson/databind /annotation/JsonDeserialize.html – SerCe
किसी भी भावी खोजकर्ताओं के लिए, मुझे यह उल्लेख करना चाहिए कि उपर्युक्त उत्तर '.asText()' विधि का उपयोग करता है, जो गलत लगता है। मैं कुछ काम करने के बाद '.textValue()' का उपयोग कर समाप्त हुआ और यह एक आकर्षण की तरह काम कर रहा है। –