मेरे JSON स्ट्रिंग इस तरह दिखता है (एक स्ट्रिंग चर में निहित कहा जाता sJSON
):एंड्रॉइड में जावा और org.json का उपयोग करके इस JSON ऐरे को फिर से कैसे करें?
[
{"id":284}
],
[
{"name":John,"surname":Doe},
{"name":Jane,"surname":Doe}
]
मैं इस (जावा का उपयोग कर और org.json आयात करने) की तरह पहली सरणी पार्स करने में सक्षम हूँ:
JSONArray arrJSON = new JSONArray(sJSON);
JSONObject jsonGeneralData = new JSONObject(arrJSON.get(0).toString());
String sResult = jsonGeneralData.get("id").toString();
जो अपेक्षित परिणाम देता है, जो 284 है। मैं वस्तुओं की दूसरी सरणी पाने के लिए संघर्ष कर रहा हूं, और उनके माध्यम से पुनरावृत्त हूं। मुझे यकीन नहीं है कि मेरी JSON स्ट्रिंग विकृत है, या यदि मैं इसे गलत तरीके से एक्सेस करने का प्रयास कर रहा हूं। यहाँ मैं क्या करने की कोशिश की है:
JSONObject jsonPersonData = new JSONObject(arrJSON.get(1).toString());
यह जहाँ तक मुझे मिल गया है, मैं दूसरी सरणी के अंदर अलग-अलग आइटम के माध्यम से कैसे करने के लिए लूप को समझ नहीं सकता।
संपादित करें:
ऐसा लगता है कि इस लाइन केवल वर्ग कोष्ठक में पहली स्ट्रिंग को पार्स करता है:
JSONArray arrJSON = new JSONArray(sJSON);
या तो JSON गलत (इसी उदाहरण के रूप में ऊपर) है, या यह पार्स करने नहीं कर रहा है यह सही ढंग से है? मैंने स्ट्रिंग पर एक विभाजन करके समस्या को हल करने में कामयाब रहा है और उन्हें प्रत्येक को अपने JSONArray
में रखा है, लेकिन मुझे नहीं लगता कि यह चीजों को करने का सबसे अच्छा तरीका है।
मूल पोस्ट अपडेट किया गया इस तरह आप अपने सरणी पुनरावृति चाहिए अधिक जानकारी के साथ। –
रिकर्सिव एक: https://gist.github.com/anonymous/89f8163fb22f77f4f9d3 –