2011-11-28 22 views
5

मैं इस तरहएंड्रॉयड JSON वस्तु

{ "प्रतिक्रिया": { "स्थिति": सच है, "परिणाम": "user_exists"}} एक JSON प्रारूप है

अब मैं कोशिश कर रहा हूँ कुछ तर्क

JSONObject jData = new JSONObject(data); 
JSONArray response = jData.getJSONArray("response"); 

करने के लिए लेकिन मैं निम्न त्रुटि

हो रही है स्थिति मान प्राप्त करने के लिए

org.json.JSONException: मान { "परिणाम": "user_exists", "स्थिति": सच} प्रकार org.json.JSONObject की प्रतिक्रिया पर कैसे एक पुनः प्राप्त करने के को नहीं बदला जा सकता JSONArray

अंदर और वस्तु से वस्तु?

उत्तर

4

करने के लिए आप एक JSONArray से स्थिति attribut पुनर्प्राप्त करने की कोशिश कर रहे हैं लेकिन, आप किसी भी JSONArray की जरूरत नहीं है आपके कोड में, (JSONArray[] से घिरा हुआ है, और JSONObject{} से घिरा हुआ है), तो स्थिति मान नहीं निकाला जा, इस प्रयास करें:

JSONObject jData = new JSONObject(data); 
JSONObject response = jData.getJSONObject("response"); 

boolean status = response.getBoolean("status"); 
+0

धन्यवाद कोड उदाहरण :) –

+0

तुम्हारा स्वागत :) हैं, हम यहाँ हैं मदद करने के लिए के लिए एक बहुत – Houcine

1

आप के रूप में प्रतिक्रिया एक वस्तु है, पहले से

बजाय JSONObject response = jData.getJSONObject("response")JSONArray प्रतिक्रिया ऑब्जेक्ट में नेविगेट करने के लिए है।

1

response एक सरणी नहीं बल्कि एक वस्तु है। और JSONObjectgetJSONArray और JSONArray के बजाय getJSONObject और JSONObject का उपयोग करें।

5

response एक JSONObject है, JSONArray नहीं। ऐरे ऑब्जेक्ट्स इन [] ब्रैकेट से घिरे हुए हैं, ऑब्जेक्ट सामान्य {} के साथ हैं। (अधिक जानकारी के लिए प्रारूप json.org देखें)

बदलें

JSONArray response = jData.getJSONArray("response"); 

JSONObject response = jData.getJSONObject("response"); 
संबंधित मुद्दे