Maison >Java >javaDidacticiel >Comment accéder aux clés JSON dynamiques dans les résultats JSON imbriqués ?

Comment accéder aux clés JSON dynamiques dans les résultats JSON imbriqués ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-06 15:01:02251parcourir

How to Access Dynamic JSON Keys in Nested JSON Results?

Comment accéder aux clés JSON dynamiques dans les résultats JSON imbriqués

Problème :

Vous avez un résultat JSON imbriqué avec dynamique clés, telles que "141", "8911", etc. Vous devez accéder au contenu de ces clés dynamiques, telles que les valeurs "count" ou "more_description".

JSON :

{
 "status": "OK",
 "search_result": [

            {
                "product": "abc",
                "id": "1132",
                "question_mark": {
                    "141": {
                        "count": "141",
                        "more_description": "this is abc",
                        "seq": "2"
                    },
                    "8911": {
                        "count": "8911",
                        "more_desc": "this is cup",
                        "seq": "1"
                    }
                },
                "name": "some name",
                "description": "This is some product"
            },
            {
                "product": "XYZ",
                "id": "1129",
                "question_mark": {
                    "379": {
                        "count": "379",
                        "more_desc": "this is xyz",
                        "seq": "5"
                    },
                    "845": {
                        "count": "845",
                        "more_desc": "this is table",
                        "seq": "6"
                    },
                    "12383": {
                        "count": "12383",
                        "more_desc": "Jumbo",
                        "seq": "4"
                    },
                    "257258": {
                        "count": "257258",
                        "more_desc": "large",
                        "seq": "1"
                    }
                },
                "name": "some other name",
                "description": "this is some other product"
            }
       ]
}

Solution :

Pour accéder au contenu des clés JSON dynamiques, suivez ces étapes :

  1. Obtenez le JSONObject représentant l'objet "question_mark" en utilisant JSONObject.getJSONObject("question_mark").
  2. Utilisez JSONObject.keys() pour obtenir un itérateur des clés dynamiques.
  3. Parcourez les clés à l'aide de l'itérateur. Méthodes hasNext() et Iterator.next().
  4. Pour chaque clé dynamique, utilisez JSONObject.getJSONObject(String key) pour obtenir le JSONObject correspondant représentant la valeur dynamique.
  5. Accédez aux valeurs souhaitées à partir du JSONObject représentant la valeur dynamique.

Code Java :

JSONObject questionMark = searchResult.getJSONObject("question_mark");
Iterator keys = questionMark.keys();

while(keys.hasNext()) {
    String currentDynamicKey = (String)keys.next();
    JSONObject currentDynamicValue = questionMark.getJSONObject(currentDynamicKey);

    // Access and manipulate the content of the currentDynamicValue...
}

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!

Déclaration:
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