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

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

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


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

Anonymous

20 November, 12:06
833

No comments

Add comment
You cannot add a new comment. In order to add a comment, please sign in or sign up
You cannot vote. In order to vote, please sign in or sign up

1 answer

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

Для начала элементы внутри 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

Anonymous

20 November, 12:48

No comments

Add comment
You can not answer questions. To answer the question, please sign in or sign up
Работа в Украине
Вакансии от WORK.ua
Интернет-маркетолог, 5000 грн.
Черкассы, Рітейл-Консалт-Груп, ТОВ
Front-end разработчик, 15000 грн.
Киев, Капс Сервис Групп, ООО
Контент-менеджер, 8000 грн.
Киев, 13Watt
PHP middle developer, 50000 грн.
Киев, BurstSeo
Ведущий программист 1С, 35000 грн.
Киев, Pro Pharma
Офіс-, контент-менеджер
Львов, Інформаційний Бізнес Центр, ПП
Інженер технічної підтримки
Киев, Украина, телеканал
Data Analyst (Marketing)
Днепр, Murka