如何使用Java中的JSON-lib API将Map转换为JSON对象?

甲的JSONObject 是的无序集合的名称/值对,而映射的 是,键映射到值的对象。映射不能包含重复的 键, 并且每个键最多可以映射到一个值。我们需要使用JSON-lib库对JSON格式的Map进行序列化 和反序列化。最初,我们可以创建一个POJO类,并将此实例作为参数传递给Map 类的put()方法,最后将该映射实例添加到JSONObject的accumulateAll()方法。

语法

public void accumulateAll(Map map)

在下面的示例中,我们可以将Map转换为JSON对象。

示例

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

 }

}

以上是 如何使用Java中的JSON-lib API将Map转换为JSON对象? 的全部内容, 来源链接: utcz.com/z/316846.html

回到顶部