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

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

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


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

Аноним

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

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

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

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
Вэб-мастер со знанием Drupal
Чернигов, Лоргано, ООО
SEO-специалист, интернет-маркетолог
Харьков, Филимонов А. М., ФЛП
Content Manager
Днепр, Semolina
Верстальщик (HTML5, CSS, jQuery), 13000 грн.
Киев, AltSolution
Junior Front-End разработчик, 20000 грн.
Херсон, Транслойд
2D Artist, художник
Киев, GrandMA Studios
C# программист (моб. приложения)
Мариуполь, УкрТех-Инфо
Innovation Manager
Киев, Київстар
Маркетолог, администратор, копирайтер (SMM), 6000 грн.
Николаев (Николаевская обл.), Агро тек, торговая с/х компания