首頁 > Java > java教程 > 主體

如何在 Java 中將 JSON 字串轉換為 HashMap?

Patricia Arquette
發布: 2024-11-14 10:42:02
原創
520 人瀏覽過

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

使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板