Heim  >  Artikel  >  Java  >  Wie greife ich in verschachtelten JSON-Ergebnissen auf dynamische JSON-Schlüssel zu?

Wie greife ich in verschachtelten JSON-Ergebnissen auf dynamische JSON-Schlüssel zu?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-06 15:01:02130Durchsuche

How to Access Dynamic JSON Keys in Nested JSON Results?

So greifen Sie auf dynamische JSON-Schlüssel in verschachtelten JSON-Ergebnissen zu

Problem:

Sie haben ein verschachteltes JSON-Ergebnis mit Dynamik Schlüssel wie „141“, „8911“ usw. Sie müssen auf den Inhalt dieser dynamischen Schlüssel zugreifen, z. B. auf die Werte „count“ oder „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"
            }
       ]
}

Lösung:

Um auf den Inhalt dynamischer JSON-Schlüssel zuzugreifen, befolgen Sie diese Schritte:

  1. Besorgen Sie sich das darstellende JSONObject das „question_mark“-Objekt mit JSONObject.getJSONObject("question_mark").
  2. Verwenden Sie JSONObject.keys(), um einen Iterator der dynamischen Schlüssel zu erhalten.
  3. Iterieren Sie mit dem Iterator durch die Schlüssel. Methoden hasNext() und Iterator.next().
  4. Verwenden Sie für jeden dynamischen Schlüssel JSONObject.getJSONObject(String key), um das entsprechende JSONObject abzurufen, das den dynamischen Wert darstellt.
  5. Greifen Sie auf die gewünschten Werte zu vom JSONObject, das den dynamischen Wert darstellt.

Java-Code:

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...
}

Das obige ist der detaillierte Inhalt vonWie greife ich in verschachtelten JSON-Ergebnissen auf dynamische JSON-Schlüssel zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn