#android #json
{ "status":"success", "data":{ "215":{}, "248":{}, "252":{} } } Как получить 2 элемент? json.getJsonObject("data"). А дальше что? Тут проблема в том, что я по сути не знаю названия объектов. Таких как 215, 248, 252. На то он и запрос, как быть?
Ответы
Ответ 1
Что есть второй элемент не совсем понятно, у объектов порядок свойств может быть произвольным. А получить все ключи можно так: JsonObject data = json.getJsonObject("data"); Set> entries = data.entrySet(); for (Map.Entry entry: entries) { System.out.println(entry.getKey());//"215","248","252" } ...и, например, взять второй элемент. А вообще, логичным выглядел бы json вида: { "status":"success", "data":[ {"id":"215","object":{}}, {"id":"248", "object":{}}, {"id":"252", "object":{}} ] } или id внутри object: { "status":"success", "data":[ {"id":"215",...}, {"id":"248",...}, {"id":"252",...} ] } Ответ 2
Опишите класс получаемого объекта и дессериализуйте его: gson.fromJson(jsonString, Type.class);Ответ 3
В вашем случае доступ можно получить только по ключу, т.к. тип у data - JsonObject, а не JsonArray.
Комментариев нет:
Отправить комментарий