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

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

DDD
DDDoriginal
2024-11-08 00:54:03937parcourir

How to Access Dynamic Keys in Nested JSON Results?

Analyse des clés JSON dynamiques dans les résultats JSON imbriqués

Question :

Comment accéder au contenu des clés qui sont des valeurs dynamiques dans un résultat JSON ?

Exemple 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 aux clés dynamiques dans un résultat JSON imbriqué, utilisez la méthode keys() de la classe JSONObject. Cette méthode renvoie un itérateur qui peut être utilisé pour parcourir les clés de l'objet. Une fois que vous avez les clés, vous pouvez utiliser la méthode getJSONObject(key) pour récupérer les valeurs correspondantes.

Voici un exemple de la façon d'analyser les clés dynamiques dans l'exemple JSON :

JSONObject searchResult = ...;  // Assuming searchResult is a JSONObject

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

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

    // Do something with the dynamic key and value...
}

Ce code parcourt les clés de l'objet question_mark et récupère les valeurs correspondantes. Vous pouvez ensuite utiliser ces valeurs pour accéder aux données dont vous avez besoin.

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