Ich entwickle eine Android-Anwendung, ich muss eine Funktion implementieren, die meine JSON analysieren und mir bestimmte Ergebnisse zurückgeben.So wählen Sie bestimmte Daten aus JSON
Zum Beispiel, ich habe eine JSON mit diesem 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"
}
]
ich mit id nur das Objekt auswählen muß = 9, wie kann ich dies tun? Wie kann ich programmatisch das JSON-Objekt unter Berücksichtigung der ID auswählen?
Ich weiß, wie JSON, zu analysieren, aber ich weiß nicht, wie programmgesteuert das JSON-Objekt unter Berücksichtigung der ID zu unterscheiden.
****** 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);
}
Iterate über alle Objekte vergleichen die ID. Es ist nicht möglich, nur diese ID auszuwählen –
Sie können nicht. Wie @ cricket_007 gezeigt hat, besteht Ihre einzige Option darin, über Ihre Objekte zu iterieren und den Parameter 'id' zu testen, bis Sie '9' finden. Denken Sie einen Moment darüber nach. Wie sonst würden Sie wissen, wenn ein Wert "9" ist, es sei denn, Sie lesen den Wert zuerst? – NoChinDeluxe
Du könntest dein Glück mit [JsonPath] versuchen (https://github.com/jayway/JsonPath), keine Garantien, obwohl –