Home > Java > javaTutorial > How to Convert a JSON String to a HashMap in Java?

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

Patricia Arquette
Release: 2024-11-14 10:42:02
Original
620 people have browsed it

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

Converting JSON String to a HashMap with Java

In Java, parsing JSON data and storing it in a HashMap can be achieved using various techniques. Here's how you can do it using the org.json library:

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;
}
Copy after login

To use this method, instantiate a JSONObject object from your JSON String, then pass it as an argument to the jsonToMap method. It will recursively parse the JSON structure and convert it into a HashMap.

Alternatively, you can use the Jackson library for a more concise solution:

import com.fasterxml.jackson.databind.ObjectMapper;

Map<String, Object> mapping = new ObjectMapper().readValue(jsonStr, HashMap.class);
Copy after login

Simply replace jsonStr with your actual JSON String.

The above is the detailed content of How to Convert a JSON String to a HashMap in Java?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template