Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java에서 Map을 JSON 객체로 변환하는 방법

JSON경량(lightweight)이며 텍스트 기반, 언어 독립적인 데이터 교환 형식입니다. JSON은 객체(Object)배열(Array)이라는 두 가지 구조화된 타입을 표현할 수 있습니다. 객체는 키/값(key/value) 쌍의 순서가 없는 집합이고, 배열은 순서가 있는 값들의 나열입니다.

Java에서 Map을 JSON 객체로 변환하려면 org.json.simple.JSONValue 클래스의 정적(static) 메서드인 toJSONString()을 사용하면 됩니다.

또한 이 클래스에는 두 가지 중요한 정적 메서드가 있습니다:

  • writeJSONString(): 객체를 JSON 텍스트로 인코딩하여 출력합니다.
  • escape(): 특수 문자를 이스케이프 처리하며, 따옴표와 \, /, \r, \n, \b, \f, \t 같은 제어 문자를 안전하게 변환합니다.

예제 코드

import java.util.*;
import org.json.simple.JSONValue;

public class ConvertMapJSONTest {
    public static void main(String[] args) {
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("1", "India");
        map.put("2", "Australia");
        map.put("3", "England");
        map.put("4", "South Africa");
        
        String jsonStr = JSONValue.toJSONString(map); // Map을 JSON으로 변환
        System.out.println(jsonStr);
    }
}

실행 결과

{"1":"India","2":"Australia","3":"England","4":"South Africa"}

위 예제처럼 toJSONString() 메서드에 Map 객체를 전달하기만 하면, 키와 값이 그대로 JSON 형식의 문자열로 변환됩니다. 별도의 복잡한 설정 없이 간단히 사용할 수 있어 Map 데이터를 JSON으로 직렬화해야 할 때 유용하게 활용됩니다.