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]"] }
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>();
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 MapjsonToMap(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
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);
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!