Heim >Java >javaLernprogramm >Wie konvertiere ich einen JSON-String in eine HashMap in Java?

Wie konvertiere ich einen JSON-String in eine HashMap in Java?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-14 10:42:02563Durchsuche

How to Convert a JSON String to a HashMap in Java?

JSON-String in eine HashMap mit Java konvertieren

In Java kann das Parsen von JSON-Daten und das Speichern in einer HashMap mithilfe verschiedener Techniken erreicht werden . So können Sie dies mit der Bibliothek org.json tun:

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

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

public static Map<String, Object> toMap(JSONObject object) throws JSONException {
    Map<String, Object> map = new HashMap<>();

    Iterator<String> 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<Object> toList(JSONArray array) throws JSONException {
    List<Object> 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;
}

Um diese Methode zu verwenden, instanziieren Sie ein JSONObject-Objekt aus Ihrem JSON-String und übergeben es dann als Argument an die jsonToMap-Methode. Die JSON-Struktur wird rekursiv analysiert und in eine HashMap konvertiert.

Alternativ können Sie die Jackson-Bibliothek für eine präzisere Lösung verwenden:

import com.fasterxml.jackson.databind.ObjectMapper;

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

Ersetzen Sie einfach jsonStr durch Ihr tatsächliches JSON Zeichenfolge.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen JSON-String in eine HashMap 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