ホームページ  >  記事  >  Java  >  ネストされた JSON 結果の動的 JSON キーにアクセスするにはどうすればよいですか?

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-06 15:01:02130ブラウズ

How to Access Dynamic JSON Keys in Nested JSON Results?

ネストされた JSON 結果の動的 JSON キーにアクセスする方法

問題:

動的 JSON キーをネストした JSON 結果があります。 「141」、「8911」などのキー。「count」や「more_description」値など、これらの動的キーの内容にアクセスする必要があります。

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 キーのコンテンツにアクセスするには、次の手順に従います:

  1. を表す JSONObject を取得します。 JSONObject.getJSONObject("question_mark") を使用して "question_mark" オブジェクトを取得します。
  2. JSONObject.keys() を使用して動的キーのイテレータを取得します。
  3. イテレータを使用してキーを反復処理します。 hasNext() メソッドと Iterator.next() メソッド。
  4. 各動的キーについて、JSONObject.getJSONObject(String key) を使用して、動的値を表す対応する JSONObject を取得します。
  5. 必要な値にアクセスします動的値を表す JSONObject から。

Java コード:

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

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

    // Access and manipulate the content of the currentDynamicValue...
}

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。