JSONObject is an unordered collection of name/value pairs, while Map is a mapping key Objects to values. The map cannot contain duplicate keys, and each key can be mapped to at most one value. We need to use the JSON-lib library to serialize and deserialize the map in JSON format. Initially, we can create a POJO class and pass the instance as parameter to the put() method of the Map class and finally add this map instance to the accumulateAll JSONObject Methods.
Syntaxpublic void accumulateAll(Map map)
import java.util.*; import net.sf.json.JSONObject; public class ConvertMapToJSONObjectTest { public static void main(String[] args)throws Exception { JSONObject jsonObject = new JSONObject(); Map<Integer, Employee> employees = new HashMap<Integer, Employee>(); employees.put(1, new Employee("Adithya", "Jai", 30)); employees.put(2, new Employee("Vamsi", "Krishna", 28)); employees.put(3, new Employee("Chaitanya", "Sai", 30)); jsonObject.accumulateAll(employees); System.out.println(jsonObject.toString(3)); // pretty print JSON } public static class Employee { private String firstName, lastName; private int age; public Employee(String firstName, String lastName, int age) { super(); this.firstName = firstName; this.lastName = lastName; this.age = age; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public int getAge() { return age; } } }
{ "1": { "firstName": "Adithya", "lastName": "Jai", "age": 30 }, "2": { "firstName": "Vamsi", "lastName": "Krishna", "age": 28 }, "3": { "firstName": "Chaitanya", "lastName": "Sai", "age": 30 } }
The above is the detailed content of How to convert Map to JSON object using JSON-lib API in Java?. For more information, please follow other related articles on the PHP Chinese website!