Itération de tableau JSON dans Android/Java
L'accès à un objet JSON depuis une application Android nécessite le décodage du tableau JSON. Pour parcourir le tableau et extraire les données souhaitées, plusieurs approches peuvent être envisagées.
Boucle dans JSONArray
Une méthode simple consiste à parcourir le JSONArray à l'aide d'un for boucle :
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"); }
Utiliser un Bibliothèque
Alternativement, l'utilisation d'une bibliothèque tierce comme Gson ou Jackson simplifie le processus d'analyse JSON. Par exemple, en utilisant Gson :
Gson gson = new Gson(); Type type = new TypeToken<List<JsonObject>>() {}.getType(); List<JsonObject> rows = gson.fromJson(jsonString, type);
Approche itérable
Une autre option consiste à convertir le JSONArray en un itérable à l'aide de la classe JSONPointer :
JSONArray array = new JSONArray(jsonString); JSONPointer pointer = new JSONPointer("/0"); int id = (int) pointer.getValue(array); String name = (String) pointer.getValue(array, "/1");
Solution héritée
Le code L'extrait mentionné dans la question nécessitait une conversion implicite du JSONArray en un tableau itérable. Malheureusement, cette approche peut rencontrer des problèmes de compatibilité et n'est pas recommandée.
Optimisation
Pour les ensembles de données volumineux, envisagez d'utiliser des tâches asynchrones ou des threads d'arrière-plan pour éviter de bloquer l'interface utilisateur principale. De plus, la mise en cache des données analysées peut améliorer les performances.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!