Heim >Java >javaLernprogramm >Wie konvertiere ich JSON-Strings in HashMaps in Java?

Wie konvertiere ich JSON-Strings in HashMaps in Java?

DDD
DDDOriginal
2024-12-04 10:02:12818Durchsuche

How to Convert JSON Strings to HashMaps in Java?

Konvertieren von JSON-Strings in HashMaps mit Java

Einführung
Bei der Arbeit mit JSON-Daten ist dies häufig erforderlich Analysieren Sie die Daten zur einfachen Bearbeitung in eine HashMap. In Java kann man zu diesem Zweck die Bibliothek org.json nutzen.

Rekursive Methode
Diese Methode iteriert durch das JSON-Objekt, konvertiert Arrays in Listen und verschachtelte Objekte in HashMaps , bevor sie zur endgültigen HashMap hinzugefügt werden.

public static Map<String, Object> jsonToMap(JSONObject json) throws JSONException {
    Map<String, Object> retMap = new HashMap<String, Object>();
    if(json != JSONObject.NULL) {
        retMap = toMap(json);
    }
    return retMap;
}
...

Alternative Methode: Jackson Bibliothek
Alternativ kann man die Jackson-Bibliothek für einen einfacheren Ansatz verwenden:

import com.fasterxml.jackson.databind.ObjectMapper;
...
Map<String, Object> mapping = new ObjectMapper().readValue(jsonStr, HashMap.class);
...

Beispielverwendung

Angesichts der Beispiel-JSON-Zeichenfolge:

{
"name" : "abc",
"email id " : ["email1@domain.com","email2@domain.com","email3@domain.com"]
}

Um es mithilfe der rekursiven Methode in eine HashMap umzuwandeln Methode:

Map<String, Object> myMap = jsonToMap(new JSONObject(jsonStr));
...

Verwendung der Jackson-Bibliothek:

Map<String, Object> myMap = new ObjectMapper().readValue(jsonStr, HashMap.class);
...

Die resultierende HashMap enthält die analysierten JSON-Daten und ermöglicht so einen einfachen Zugriff und eine einfache Bearbeitung.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich JSON-Strings in HashMaps in Java?. 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