как пройти через JSONArray для Android с помощью JSONObject

1

У меня есть JSONObject со структурой данных следующим образом

[{"distance":"200 meters","location_id":"519"},{"distance":"300 meters","location_id":"219"}]

и я пытаюсь пересечь каждый массив внутри этого объекта, у меня есть следующий код, где locationArray - действительный JSONObject

for (int j = 0; j < locationArray.length(); j++) {

     JSONObject j_obj;
     j_obj = locationArray.getJSONArray(j); //error here
     location_id = j_obj.getString("location_id");
}

но я получаю ошибку, пытаясь найти каждый дополнительный массив locationArray с целым числом.

Теги:
arrays
multidimensional-array

1 ответ

4
Лучший ответ

решение:

JSONArray rootArray = new JSONArray(jsonString);
int len = rootArray.length();
for(int i = 0; i < len; ++i) {
    JSONObject obj = rootArray.getJSONObject(i);
    location_id = obj.getString("location_id");
}

В вашем коде есть ошибка. j_obj = locationArray.getJSONArray(j); должен быть j_obj = locationArray.getJSONObject(j);, поскольку объект, завернутый в фигурные скобки, представляет собой JSONObject, а не a JSONArray

Изменить: вы можете использовать obj.optString("location_id");, чтобы избежать потенциальной проблемы

Ещё вопросы

Сообщество Overcoder
Наверх
Меню