Здравствуйте!
Есть вот такой ответ от сервера:
{
"p_result": "ok",
"p_item": [
{
"p_id": 132,
"p_name": "Николай"
},
{
"p_id": 133,
"p_name": "Светлана"
}
]
}
Если правильно понимаю, то это массив.
Нужно написать метод который будет по параметру находить нужный элемент
что то наподобие :
_http.getArrayParamValue("p_name");
Никак не могу сообразить.
p.s. думаю для меня было бы полезнее некое указание, нежели ссылка на очерендую библиотеку. Спасибо!
Решение. Ошибку тоже понял. @Josfey Спасибо огромное. Вы очень мне помогли!
String str = null;
String input = "данные полученные от сервера";
JsonParser parser = new JsonParser();
JsonObject mainObject = parser.parse(input).getAsJsonObject();
JsonArray pItem = mainObject.getAsJsonArray("p_item");
for (JsonElement user : pItem) {
JsonObject userObject = user.getAsJsonObject();
userObject.get("p_id");
str = userObject.get("p_id").toString();
}
Ответ
Не совсем понял, что именно вы хотите извлечь из приведённой json-структуры, но вот, например, как извлечь из неё имя пользователя c id = 132 с помощью GSON
String input = "тут ваша json-структура";
JsonParser parser = new JsonParser();
JsonObject mainObject = parser.parse().getAsJsonObject();
JsonArray pItem = mainObject.getAsJsonArray("p_item");
for (JsonElement user : pItem) {
JsonObject userObject = user.getAsJsonObject();
if (userObject.get("p_id").getAsInt() == 132) {
System.out.println(userObject.get("p_name"));
return;
}
}
Комментариев нет:
Отправить комментарий