Maison > Java > javaDidacticiel > Comment parcourir efficacement un tableau JSON sous Android/Java ?

Comment parcourir efficacement un tableau JSON sous Android/Java ?

Linda Hamilton
Libérer: 2024-12-09 02:50:10
original
705 Les gens l'ont consulté

How to Efficiently Iterate Through a JSON Array in Android/Java?

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");
}
Copier après la connexion

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);
Copier après la connexion

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");
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal