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

Java에서 JSON 객체를 XML 형식으로 변환하는 방법

JSON(JavaScript Object Notation)은 경량 데이터 교환 형식으로, 데이터를 키(key)-값(value) 쌍의 구조로 표현합니다. Java에서는 org.json.XML 클래스를 사용하면 JSONObject를 XML 형식으로 간편하게 변환할 수 있습니다. 이 클래스는 XML 텍스트를 JSONObject로 변환하거나, 그 반대로 JSONObject를 XML 텍스트로 변환하는 정적(static) 메서드를 제공합니다.


특히 XML.toString() 메서드는 JSON 객체를 잘 구성된(well-formed) XML 문자열로 변환하며, 그 결과는 요소(element) 단위로 정규화된 형태를 가집니다.


메서드 구문(Syntax)

public static java.lang.String toString(java.lang.Object object) throws JSONException

사전 준비: org.json 라이브러리 추가

Maven 기반 프로젝트라면 pom.xml 파일에 다음 의존성을 추가하고 빌드하면 됩니다. Gradle을 사용한다면 implementation 'org.json:json:20240303' 한 줄만 추가하면 됩니다.

<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20240303</version>
</dependency>

예제 코드

다음은 JSON 문자열을 파싱한 후 XML 문자열로 변환하는 전체 예제입니다.

import java.io.*;
import org.json.*;

public class JSONtoXMLTest {

    public static void main(String[] args) throws JSONException {
        String json = "{employee : { age:30, name : Raja, technology:Java}}";
        // JSON을 XML로 변환
        String xml = convert(json, "root"); // 이 메서드는 JSON 객체를 XML 문자열로 변환합니다.
        System.out.println(xml);
    }

    public static String convert(String json, String root) throws JSONException {
        JSONObject jsonObject = new JSONObject(json);
        // XML 선언부와 루트 태그로 감싸 완전한 XML 문서를 생성합니다.
        String xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-15\"?>\n<" + root + ">"
                + XML.toString(jsonObject)
                + "</" + root + ">";
        return xml;
    }
}

실행 결과

<?xml version="1.0" encoding="ISO-8859-15"?>
<root>
    <employee>
        <name>Raja</name>
        <technology>Java</technology>
        <age>30</age>
    </employee>
</root>

핵심 포인트 정리

  • JSONObject 파싱: new JSONObject(json) 생성자가 JSON 문자열을 해석하여 객체로 만듭니다.
  • 키-요소 매핑: JSON의 각 키(name, technology, age)는 같은 이름의 XML 요소로 변환됩니다.
  • 중첩 구조 처리: 중첩된 JSON 객체는 하위 XML 요소로 자동 계층화됩니다.
  • 루트 태그: XML 표준상 최상위 요소가 하나 필요하므로, 예제에서는 문자열 결합으로 <root> 태그를 감싸 주었습니다.

이처럼 org.json 라이브러리를 활용하면 복잡한 설정 없이도 몇 줄의 코드만으로 JSON 데이터를 표준 XML 문서로 손쉽게 변환할 수 있습니다.