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

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

DDD
DDDOriginal
2024-11-08 00:54:03980Durchsuche

How to Access Dynamic Keys in Nested JSON Results?

Dynamische JSON-Schlüssel in verschachtelten JSON-Ergebnissen analysieren

Frage:

So greifen Sie auf zu Inhalt von Schlüsseln, die dynamische Werte innerhalb eines JSON-Ergebnisses sind?

Beispiel-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 dynamische Schlüssel in einem verschachtelten JSON-Ergebnis zuzugreifen, verwenden Sie die Methode „keys()“ der Klasse „JSONObject“. Diese Methode gibt einen Iterator zurück, der zum Durchlaufen der Schlüssel im Objekt verwendet werden kann. Sobald Sie die Schlüssel haben, können Sie die Methode getJSONObject(key) verwenden, um die entsprechenden Werte abzurufen.

Hier ist ein Beispiel, wie die dynamischen Schlüssel im Beispiel-JSON analysiert werden:

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

Dieser Code durchläuft die Schlüssel im questions_mark-Objekt und ruft die entsprechenden Werte ab. Mithilfe dieser Werte können Sie dann auf die benötigten Daten zugreifen.

Das obige ist der detaillierte Inhalt vonWie greife ich auf dynamische Schlüssel in verschachtelten JSON-Ergebnissen 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