2011-11-28 8 views
5

Tengo un formato JSON como estoAndroid JSON objeto

{ "respuesta": { "status": true, "número": "user_exists"}}

Ahora estoy tratando para recuperar el valor de estado para hacer un poco de lógica

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

pero estoy consiguiendo el error siguiente

org.json.JSONException: Valor { "resultado": "user_exists", "Estado": true} en la respuesta de tipo org.json.JSONObject no se puede convertir a JSONArray

cómo recuperar una Objeto desde adentro y ¿Objeto?

Respuesta

4

que está intentando es posible recuperar el estado de un attribut JSONArray pero, usted no tiene ninguna JSONArray en su Código, (JSONArray está rodeado por [], y JSONObject está rodeado por {}), Así es posible recuperar el valor de estado, intente esto:

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

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

muchas gracias por el ejemplo de código :) –

+0

usted es :) recepción, estamos aquí para ayudar – Houcine

1

tienes que navegar por primera vez al objeto de respuesta por

JSONObject response = jData.getJSONObject("response") en lugar de JSONArray, como respuesta es un objeto.

1

response no es una matriz sino un objeto. Use getJSONObject y JSONObject en lugar de getJSONArray y JSONArray.

5

response es un JSONObject, no un JSONArray. Los objetos de matriz están rodeados por estos corchetes [], los objetos están con los normales {}. (Ver json.org para obtener más información de formato)

Cambio

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

a

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