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

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

Linda Hamilton
Linda Hamiltonoriginal
2024-11-10 15:26:03961parcourir

How to Access Dynamic JSON Keys in Nested Results?

Accès aux clés JSON dynamiques dans les résultats imbriqués

Dans les données JSON, les clés peuvent être dynamiques, ce qui signifie qu'elles varient d'un objet à l'autre. Cela peut poser un défi lors de l'accès à des valeurs spécifiques, en particulier dans les structures imbriquées.

Pour gérer les clés JSON dynamiques dans un résultat imbriqué, vous pouvez exploiter la méthode keys() dans la classe JSONObject. Cette méthode renvoie un itérateur qui permet de parcourir les clés disponibles dans l'objet JSON.

Considérez la structure JSON suivante :

{
 "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"
            }
       ]
}

Pour accéder au contenu du champ "question_mark" pour chaque objet du tableau "search_result", vous pouvez utiliser le code suivant :

for (JSONObject searchResult : searchResults) {
    JSONObject questionMark = searchResult.getJSONObject("question_mark");
    Iterator<String> keys = questionMark.keys();
    
    while (keys.hasNext()) {
        String currentDynamicKey = keys.next();
        
        // Get the value of the dynamic key
        JSONObject currentDynamicValue = questionMark.getJSONObject(currentDynamicKey);
        
        // Do something here with the value...
    }
}

Ce code parcourt les éléments disponibles clés dans le champ "question_mark" et récupère la valeur associée à chaque clé. Vous pouvez ensuite utiliser ces valeurs pour un traitement ultérieur ou un affichage.

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