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!