使用Java 將JSON 字串轉換為HashMap
在Java 中,可以使用多種技術來實現JSON 資料並將其解析JSON 資料並將其解析JSON儲存在HashMap 中。以下是使用 org.json 庫執行此操作的方法:
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; }
要使用此方法,請從 JSON 字串實例化 JSONObject 對象,然後將其作為參數傳遞給 jsonToMap 方法。它將遞歸地解析 JSON 結構並將其轉換為 HashMap。
或者,您可以使用 Jackson 庫以獲得更簡潔的解決方案:
import com.fasterxml.jackson.databind.ObjectMapper; Map<String, Object> mapping = new ObjectMapper().readValue(jsonStr, HashMap.class);
只需將 jsonStr 替換為實際的 JSON字串。
以上是如何在 Java 中將 JSON 字串轉換為 HashMap?的詳細內容。更多資訊請關注PHP中文網其他相關文章!