Я разрабатываю приложение для Android, мне нужно реализовать функцию, которая анализирует мой JSON и возвращает мне определенный результат.Как выбрать определенные данные из JSON
К примеру, у меня есть JSON с этим strcutures:
[
{
"date":"17-06-2016",
"desc":"My description",
"id":"9",
"img":"http:\/\/myurl\/pathimage\/image.jpg",
"text":"Lorem Ipsum.",
"title":"My title"
}, {
"date":"14-06-2015",
"desc":"My description 2",
"id":"5",
"img":"http:\/\/myurl\/pathimage\/image.jpg",
"text":"Lorem Ipsum 2.",
"title":"My title 2"
}
]
мне нужно выбрать только объект с идентификатором = 9, как я могу это сделать? Как я могу программным образом выбрать объект JSON, дискриминирующий уважение идентификатора?
Я знаю, как разбирать JSON, , но я НЕ знаю, как программно выбрать объект JSON, дискриминирующий уважение идентификатора.
****** EDIT 1 ******
JSONArray newsReq;
try {
newsReq = new JSONArray(result.toString());
for (int i = 0; i < newsReq.length(); i++) {
try {
if(obj.getInt("id")=='9'){
JSONObject obj = newsReq.getJSONObject(i);
obj.getString("img");
obj.getInt("id");
obj.getString("title");
}
} catch (JSONException e) {
Log.wtf("BulgariLog: ", e);
}
}
} catch (JSONException e) {
Log.wtf("BulgariLog: ", e);
}
перебрать все объекты сравнения ID. Невозможно выбрать только ID ID –
Вы не можете. Как указывал @ cricket_007, ваш единственный вариант - перебрать ваши объекты, проверяя параметр 'id', пока не найдете' 9'. Подумайте об этом на мгновение. Как еще вы знаете, если значение «9», если вы действительно не прочитали значение сначала? – NoChinDeluxe
Вы можете попробовать свою удачу с [JsonPath] (https://github.com/jayway/JsonPath), никаких гарантий, хотя –