Maison > Java > javaDidacticiel > le corps du texte

Comment extraire les valeurs \'id\' et \'loc\' d'un JSONArray imbriqué en Java ?

Mary-Kate Olsen
Libérer: 2024-11-27 05:13:11
original
212 Les gens l'ont consulté

How to Extract

Accès aux valeurs "id" et "loc" à partir d'un JSONArray imbriqué en Java

Lors de l'analyse des données JSON en Java, il est courant de rencontrer des structures imbriquées, telles que JSONArrays dans JSONObjects. Accéder à des valeurs spécifiques au sein de ces structures imbriquées peut être un peu délicat pour les débutants.

Problème :

Considérez les données JSON suivantes :

{
  "locations": {
    "record": [
      {
        "id": 8817,
        "loc": "NEW YORK CITY"
      },
      {
        "id": 2873,
        "loc": "UNITED STATES"
      },
      {
        "id": 1501,
        "loc": "NEW YORK STATE"
      }
    ]
  }
}
Copier après la connexion

Le but est de parcourir le JSONArray "record" et d'accéder aux valeurs "id" et "loc" pour chacun. record.

Solution :

Pour accéder aux membres d'un élément dans un JSONArray, vous pouvez utiliser la méthode getJSONObject(int). Le code suivant montre comment y parvenir :

JSONObject req = new JSONObject(join(loadStrings(data.json),""));
JSONObject locs = req.getJSONObject("locations");
JSONArray recs = locs.getJSONArray("record");

for (int i = 0; i < recs.length(); ++i) {
    JSONObject rec = recs.getJSONObject(i);
    int id = rec.getInt("id");
    String loc = rec.getString("loc");
    // ...
}
Copier après la connexion

Dans la boucle for :

  • recs.length() fournit le nombre d'éléments dans le "record" JSONArray.
  • recs.getJSONObject(i) renvoie un JSONObject représentant le i-ème record.
  • rec.getInt("id") récupère la valeur entière de la clé "id".
  • rec.getString("loc") récupère la valeur de chaîne du "loc" clé.

Ces valeurs récupérées peuvent ensuite être utilisées pour des traitements ou des opérations ultérieurs.

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