2011-11-28 11 views
5

Mam formatu JSON takiegoAndroid JSON obiektu

{ "odpowiedź": { "status": true, "Wynik": "user_exists"}}

Teraz próbuję pobrać wartość stanu zrobić pewnej logiki

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

ale otrzymuję następujący błąd

org.json.JSONException: Wartość { "Wynik": "user_exists", "status": true} w odpowiedzi typu org.json.JSONObject nie mogą być konwertowane do JSONArray

sposób, aby pobrać Obiekt od środka i obiektu?

Odpowiedz

4

próbujesz retreive się Attribut statusu z JSONArray ale nie masz żadnego JSONArray w swoim Kodeksie (JSONArray jest otoczony przez [], a JSONObject jest otoczony przez {}), Więc retreive wartość stanu, spróbuj tego:

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

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

dziękuję za przykład kodu :) –

+0

zapraszamy :), jesteśmy tutaj, aby pomóc – Houcine

1

Musisz najpierw przejdź do obiektu odpowiedzi przez

JSONObject response = jData.getJSONObject("response") zamiast JSONArray, jak odpowiedź jest obiekt.

1

response nie jest tablicą, ale obiektem. Użyj getJSONObject i JSONObject zamiast getJSONArray i JSONArray.

5

response to JSONObject, a nie JSONArray. Obiekty macierzy są otoczone tymi nawiasami, obiekty są z normalnymi {}. (Patrz json.org więcej informacji o formacie)

Zmień

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

do

JSONObject response = jData.getJSONObject("response"); 
Powiązane problemy