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