У меня есть ответ JSON в этом формате:JSON массив не разобран
{
"success": true,
"categories": [{
"id": "774",
"name": "1"
}, {
"id": "774",
"name": "1"
}]
}
И я разборе это так:
try {
JSONObject obj = new JSONObject(response);
String success = String.valueOf(obj.getBoolean("success"));
JSONArray arr = obj.getJSONArray("categories");
//loop through each object
for (int i=0; i<arr.length(); i++) {
JSONObject jsonProductObject = arr.getJSONObject(i);
String name = jsonProductObject.getString("name");
String url = jsonProductObject.getString("id");
Toast.makeText(getApplicationContext(),name, Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
Но я получаю только значение успеха. Что я здесь делаю неправильно?
вы выборки неправильный массив. \t Это должен быть JSONArray arr = obj.getJSONArray ("categories"); \t вместо JSONArray arr = obj.getJSONArray ("checkouts"); – justDroid
опубликуйте свои ошибки logcat –
, почему вы получаете значение успеха в логическом порядке, как этот obj.getBoolean («success»), его неправильный путь, когда json отправляется в форме строки, извлекает его значение подобно этому 'String success = obj.getString («success»); ' –