ネストされた JSON 結果内の動的 JSON キーの解析
質問:
JSON 結果内の動的な値であるキーの内容?
サンプル 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" } ] }
解決策:
ネストされた JSON 結果内の動的キーにアクセスするには、JSONObject クラスの key() メソッドを使用します。このメソッドは、オブジェクト内のキーを反復処理するために使用できる Iterator を返します。キーを取得したら、getJSONObject(key) メソッドを使用して、対応する値を取得できます。
サンプル 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... }
このコードは、question_mark オブジェクト内のキーを反復処理し、対応する値を取得します。これらの値を使用して、必要なデータにアクセスできます。
以上がネストされた JSON 結果の動的キーにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。