JSONObject는 name/value 쌍의 순서가 지정되지 않은 컬렉션인 반면, Map은 키를 값에 매핑하는 개체입니다. 맵에는 duplicatekeys가 포함될 수 없으며 각 키는 최대 하나의 값에 매핑될 수 있습니다. JSON 형식의 맵을 직렬화 및 역직렬화하려면 JSON-lib 라이브러리를 사용해야 합니다. 처음에는 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 객체로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!