Heim > Java > javaLernprogramm > Hauptteil

Wie konvertiere ich JSON-Strings in HashMaps in Java mithilfe der org.json-Bibliothek?

Mary-Kate Olsen
Freigeben: 2024-11-13 14:03:02
Original
845 Leute haben es durchsucht

How to Convert JSON Strings to HashMaps in Java Using the org.json Library?

Konvertieren von JSON-Strings in HashMaps in Java mithilfe der org.json-Bibliothek

Bei der Arbeit mit JSON-Daten in Java besteht eine häufige Aufgabe darin, Konvertieren Sie JSON-Strings in HashMaps, um die Datenbearbeitung und -speicherung zu erleichtern. Dieser Artikel enthält eine detaillierte Erklärung, wie Sie diese Konvertierung mithilfe der Bibliothek org.json erreichen.

JSON-Struktur

Beachten Sie die folgende JSON-Zeichenfolge:

{
"name" : "abc",
"email id" : ["[email protected]", "[email protected]", "[email protected]"]
}
Nach dem Login kopieren

Das Ziel besteht darin, diese JSON-Zeichenfolge in eine HashMap mit Schlüsseln umzuwandeln, die den Eigenschaftsnamen und -werten entsprechen, die ihren jeweiligen Werten entsprechen.

HashMap-Initialisierung

Zuerst , initialisieren Sie eine HashMap, um die konvertierten Daten zu speichern:

Map<String, Object> retMap = new HashMap<String, Object>();
Nach dem Login kopieren

Rekursive Konvertierung

Der Konvertierungsprozess umfasst das rekursive Durchlaufen des JSON-Objekts und das Konvertieren auch verschachtelter Strukturen. Der folgende Codeausschnitt beschreibt die rekursive Konvertierungsmethode:

public static Map jsonToMap(JSONObject json) throws JSONException {
    Map<String, Object> retMap = new HashMap<String, Object>();

    if(json != JSONObject.NULL) {
        retMap = toMap(json);
    }
    return retMap;
}

public static Map toMap(JSONObject object) throws JSONException {
    Map map = new HashMap();

    Iterator keysItr = object.keys();
    while(keysItr.hasNext()) {
        String key = keysItr.next();
        Object value = object.get(key);

        if(value instanceof JSONArray) {
            value = toList((JSONArray) value);
        }

        else if(value instanceof JSONObject) {
            value = toMap((JSONObject) value);
        }
        map.put(key, value);
    }
    return map;
}

public static List toList(JSONArray array) throws JSONException {
    List list = new ArrayList();
    for(int i = 0; i < array.length(); i++) {
        Object value = array.get(i);
        if(value instanceof JSONArray) {
            value = toList((JSONArray) value);
        }

        else if(value instanceof JSONObject) {
            value = toMap((JSONObject) value);
        }
        list.add(value);
    }
    return list;
}
Nach dem Login kopieren

Dieser Code durchläuft das JSON-Objekt rekursiv und verarbeitet verschachtelte Strukturen wie Arrays und Objekte, um sicherzustellen, dass die endgültige HashMap alle Daten im JSON-String enthält .

Verwendung der Jackson-Bibliothek

Alternativ können Sie die Jackson-Bibliothek zum Konvertieren von JSON-Strings in HashMaps verwenden. Dies kann mit folgendem Code erfolgen:

import com.fasterxml.jackson.databind.ObjectMapper;

Map<String, Object> mapping = new ObjectMapper().readValue(jsonStr, HashMap.class);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie konvertiere ich JSON-Strings in HashMaps in Java mithilfe der org.json-Bibliothek?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage