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!