ネストされた結果の動的 JSON キーにアクセスするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-10 15:26:03
オリジナル
989 人が閲覧しました

How to Access Dynamic JSON Keys in Nested Results?

ネストされた結果の動的 JSON キーへのアクセス

JSON データでは、キーは動的になる可能性があります。つまり、キーはオブジェクトごとに異なります。これにより、特にネストされた構造内で特定の値にアクセスするときに問題が発生する可能性があります。

ネストされた結果で動的 JSON キーを処理するには、JSONObject クラスの key() メソッドを利用できます。このメソッドは、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"
            }
       ]
}
ログイン後にコピー

「question_mark」フィールドのコンテンツにアクセスするには「search_result」配列内のオブジェクトごとに、次のコードを使用できます。

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...
    }
}
ログイン後にコピー

このコードは、「question_mark」フィールド内の使用可能なキーを反復処理し、各キーに関連付けられた値を取得します。これらの値をさらに処理または表示するために使用できます。

以上がネストされた結果の動的 JSON キーにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート