Heim > Java > javaLernprogramm > Wie konvertiert man JSON-Strings in Java mithilfe der Bibliotheken org.json und Jackson in HashMaps?

Wie konvertiert man JSON-Strings in Java mithilfe der Bibliotheken org.json und Jackson in HashMaps?

Susan Sarandon
Freigeben: 2024-11-12 06:41:01
Original
302 Leute haben es durchsucht

How do you convert JSON strings to HashMaps in Java using org.json and Jackson libraries?

Konvertieren von JSON-Strings in HashMaps in Java

Wenn Sie mit Daten im JSON-Format arbeiten, kann die Konvertierung in eine HashMap eine nützliche Möglichkeit sein Informationen speichern und abrufen. So können Sie diese Konvertierung mit der Bibliothek org.json erreichen.

Verwendung der Bibliothek org.json

  1. Erstellen Sie ein HashMap-Objekt, um die konvertierten Daten zu speichern.
  2. Parsen Sie die JSON-Zeichenfolge in ein JSONObject.
  3. Durchlaufen Sie die Schlüssel im JSONObject.
  4. Rufen Sie für jeden Schlüssel den entsprechenden Wert aus dem JSONObject ab.
  5. Konvertieren Sie den Wert bei Bedarf in einen geeigneten Typ (z. B. Liste, HashMap).
  6. Fügen Sie das Schlüssel-Wert-Paar zur HashMap hinzu.

Rekursives Beispiel

Der folgende Code stellt eine rekursive Implementierung bereit, die verschachtelte JSON-Strukturen verarbeitet:

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

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

    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<Object>();
    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

Verwendung der Jackson Library

Wenn Sie möchten, können Sie auch kann auch die Jackson-Bibliothek für die JSON-Analyse verwenden. Dieser Ansatz ist prägnanter und erfordert weniger Schritte:

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 konvertiert man JSON-Strings in Java mithilfe der Bibliotheken org.json und Jackson in HashMaps?. 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