2011-11-28 22 views
5

Ho un formato JSON come questoAndroid JSON oggetto

{ "risposta": { "status": true, "risultato": "user_exists"}}

Ora sto cercando per recuperare il valore di stato per fare un po 'di logica

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

ma sto ottenendo il seguente errore

org.json.JSONException: Valore { "risultato": "user_exists", "Stato": true} a risposta di tipo org.json.JSONObject non può essere convertito in JSONArray

come recuperare un Oggetto dall'interno e Oggetto?

risposta

4

si sta cercando di prelevare l'attribut stato da un JSONArray ma, non si dispone di alcun JSONArray nel codice, (JSONArray è circondato da [] e JSONObject è circondato da {}), Quindi, per prelevare il valore di stato, provate questo:

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

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

grazie mille per l'esempio di codice :) –

+0

siete :) benvenuto, noi siamo qui per aiutare – Houcine

1

si deve navigare primo all'oggetto risposta da

JSONObject response = jData.getJSONObject("response") anziché JSONArray, come risposta è un oggetto.

1

response non è un array ma un oggetto. Utilizzare getJSONObject e JSONObject anziché getJSONArray e JSONArray.

5

response è un oggetto JSONObject, non un JSONArray. Gli oggetti array sono circondati da queste parentesi [], gli oggetti sono quelli normali {}. (Vedi json.org Per ulteriori informazioni sul formato)

Change

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

a

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