Распарсить многомерный массив JSONObject Android

Есть ответ от сервера в виде JSONObject .
Вид

[data = [
          0 [
              name = "test"
             ],
          1 [
              name = "test"
             ]
          2 [
              name = "test"
             ]
]


Какими методами можно пройтись по такому объекту? как это в яве делается? Заранее спасибо за доки и примеры.
no image

Аноним

20 ноября, 18:13
601

Нет комментариев

Добавить комментарий
Вы не можете оставлять комментарии. Чтобы добавить комментарий, залогиньтесь или зарегистрируйтесь
Вы не можете голосовать. Чтобы проголосовать, залогиньтесь или зарегистрируйтесь

1 ответ

И так, если всем влом отвечать на простые вопросы новичков, отвечу сам себе (мне не в лом ответить тем, кто придет сюда с тем же вопросом).

Для начала элементы внутри data должны быть массивом. т.е. выглядеть так ({} - объект. [] - массив)

{data = [
          0 {
              name = "test"
             },
          1 {
              name = "test"
             },
          2 {
              name = "test"
             }
  ]
}



Далее получить из JSONObject на массив, и по нему пройтись используя for (использовать foreach видимо нельзя, или его нет в языке java. Не важно, факт в том, что я не нашел ни одного примера с ним).

// Получить массив
JSONArray data = response.getJSONArray("data");
int data_length = data.length();
for(int i = 0; i < data_length; i++) {
  // здесь получаем элемент массива. это не обязательно должен быть объект.  
  JSONObject row = data.getJSONObject(i);
  String name = row.getString("name");
}


И еще момент. т.к. проходим циклом for. то пришлось привести ключи массива к виду 0,1,2,3

no image

Аноним

20 ноября, 18:35

Нет комментариев

Добавить комментарий
Вы не можете отвечать на вопросы. Чтобы ответить на вопрос, пожалуйста залогиньтесь или зарегистрируйтесь
Работа в Украине
Вакансии от WORK.ua
Аналитик бизнес-процессов
Киев, Фокстрот. Техніка для дому
Lead Game Designer
Одесса, Nordcurrent Odessa
Спеціаліст з супроводу та експлуатації...
Киев, Універсальна, страхова компанія
Системный администратор (Windows-систем)
Киев, Нико, группа компаний
Руководитель интернет-магазина, 10000 грн.
Харьков, Geffild, торговый дом
Data Engineer
Львов, Edvantis Software, Inc.
Middle PHP-программист
Хмельницкий, Web-systems
QA Engineer
Черкассы, Visual Craft Inc.
QA Engineer, тестировщик ПО
Житомир, Zinit Solutions Ukraine