如何使用 Java 中的 JSON-lib API 將 Map 轉換為 JSON 物件?
JSONObject 是無序的名稱/值對集合,而Map 則是將鍵對映到值的物件。Map 不能包含重複鍵,並且每個鍵最多隻能對映到一個值。我們需要使用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
}
}
廣告
資料結構
網路技術
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP