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

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

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


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

Аноним

20 ноября, 12:06
656

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

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

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 ноября, 12:48

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

Добавить комментарий
Вы не можете отвечать на вопросы. Чтобы ответить на вопрос, пожалуйста залогиньтесь или зарегистрируйтесь
Работа в Украине
Вакансии от WORK.ua
Контент-менеджер на автосайт, 2700 грн.
Винница, RIA.com
Jira Administrator
Одесса, Snap Ukraine
Full-stack developer (Node, Angular)
Черновцы, OSF Global Services
Главный специалист отдела поддержки ИТ...
Киев, Уника, страховая компания
IOS developer
Харьков, Cleveroad Inc.
C++ Software Engineer
Киев, SoftServe
Программист 1С 8, 16000 грн.
Киев, К2Р, ООО