I'm trying to use Volley for consuming a web service. This is my logcat output:
12-14 10:45:41.750: I/Annuaire2error(4005): org.json.JSONException: Value [{"label":[{"pers_nom":"yen","pers_id":"1","pers_prenom":"ines","pers_email":"[email protected]","pers_phone":"443456784"},{"pers_nom":"Jamin","pers_id":"2","pers_prenom":" Derkok","pers_email":"[email protected]","pers_phone":"2345512398"}]}] of type org.json.JSONArray cannot be converted to JSONObject
it seems that it can't access the value of label
of my web service. How can I convert from JSONArray
to JSONObject
?
This is my code:
mRequestQueue = Volley.newRequestQueue(getActivity().getApplicationContext());
JsonObjectRequest jr = new JsonObjectRequest(Request.Method.GET,url,null,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.i(TAG,response.toString());
try{
JSONObject value = response.getJSONObject("label");
String essai = value.getString("pers_nom");
/**
* just for check
* */
Toast.makeText(getActivity(), ""+essai, Toast.LENGTH_SHORT).show();
Log.d("volley output", essai);
} catch(Exception e) {
e.printStackTrace();
}
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getActivity(), "errrrroooor", Toast.LENGTH_LONG).show();
Log.i(TAG+"error",error.getMessage());
}
});
mRequestQueue.add(jr);
The response that you get is a JSONArray not a JSONObject
This
Your json
Should be something like
Edit:
And use
Edit 2:
I check the source and it looks like below