Converting JSON Strings to HashMaps with Java
Introduction
Working with JSON data often involves the need to parse the data into a HashMap for easy manipulation. In Java, one can leverage the org.json library for this purpose.
Recursive Method
This method iterates through the JSON object, converts arrays to lists, and nested objects to HashMaps, before adding them to the final HashMap.
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; } ...
Alternate Method: Jackson Library
Alternatively, one can use the Jackson library for a more straightforward approach:
import com.fasterxml.jackson.databind.ObjectMapper; ... Map<String, Object> mapping = new ObjectMapper().readValue(jsonStr, HashMap.class); ...
Example Usage
Given the sample JSON string:
{ "name" : "abc", "email id " : ["email1@domain.com","email2@domain.com","email3@domain.com"] }
To convert it to a HashMap using the recursive method:
Map<String, Object> myMap = jsonToMap(new JSONObject(jsonStr)); ...
Using the Jackson library:
Map<String, Object> myMap = new ObjectMapper().readValue(jsonStr, HashMap.class); ...
The resulting HashMap will contain the parsed JSON data, allowing for easy access and manipulation.
The above is the detailed content of How to Convert JSON Strings to HashMaps in Java?. For more information, please follow other related articles on the PHP Chinese website!