JSON-Array-Iteration in Android/Java
Der Zugriff auf ein JSON-Objekt über eine Android-App erfordert die Dekodierung des JSON-Arrays. Um das Array zu durchlaufen und die gewünschten Daten zu extrahieren, können mehrere Ansätze in Betracht gezogen werden.
JSONArray durchlaufen
Eine einfache Methode besteht darin, das JSONArray mithilfe eines for zu durchlaufen Schleife:
int id; String name; JSONArray array = new JSONArray(jsonString); for (int i = 0; i < array.length(); i++) { JSONObject row = array.getJSONObject(i); id = row.getInt("id"); name = row.getString("name"); }
Verwenden von a Bibliothek
Alternativ vereinfacht die Verwendung einer Drittanbieterbibliothek wie Gson oder Jackson den JSON-Parsing-Prozess. Verwenden Sie beispielsweise Gson:
Gson gson = new Gson(); Type type = new TypeToken<List<JsonObject>>() {}.getType(); List<JsonObject> rows = gson.fromJson(jsonString, type);
Iterable Approach
Eine andere Option besteht darin, das JSONArray mithilfe der JSONPointer-Klasse in ein iterierbares Array umzuwandeln:
JSONArray array = new JSONArray(jsonString); JSONPointer pointer = new JSONPointer("/0"); int id = (int) pointer.getValue(array); String name = (String) pointer.getValue(array, "/1");
Legacy-Lösung
Der Code Das in der Frage erwähnte Snippet erforderte eine implizite Konvertierung vom JSONArray in ein iterierbares Array. Leider kann dieser Ansatz zu Kompatibilitätsproblemen führen und wird nicht empfohlen.
Optimierung
Erwägen Sie bei großen Datensätzen die Verwendung asynchroner Aufgaben oder Hintergrundthreads, um eine Blockierung der Hauptbenutzeroberfläche zu vermeiden. Darüber hinaus kann das Zwischenspeichern der analysierten Daten die Leistung verbessern.
Das obige ist der detaillierte Inhalt vonWie kann man ein JSON-Array in Android/Java effizient durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!