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

Java에서 org.json 라이브러리로 JSON 예쁘게 출력(Pretty Print)하는 방법

JSON(JavaScript Object Notation)경량(lightweight)이며 텍스트 기반이고 언어에 독립적인 데이터 교환 형식입니다. JSONObject는 문자열로부터 텍스트를 파싱하여 맵(map)과 유사한 객체를 생성할 수 있으며, 객체의 내용을 조작하고 JSON 규격에 맞는 직렬화 결과를 만들어내는 다양한 메서드를 제공합니다.

org.json 패키지의 클래스들은 Java 환경에서 JSON 인코더/디코더를 구현합니다. 또한 JSON, XML, HTTP 헤더, 쿠키(Cookies), CDL 간의 상호 변환 기능도 함께 제공합니다.

toString(int indentFactor) 메서드로 JSON 예쁘게 출력하기

org.json.JSONObject 클래스의 toString(int indentFactor) 메서드를 사용하면 JSON 데이터를 사람이 읽기 쉽도록 예쁘게 출력(pretty-print)할 수 있습니다. 여기서 indentFactor는 들여쓰기 단계마다 추가할 공백의 개수를 의미합니다. 예를 들어 값이 4이면 한 단계 들여쓰기마다 공백 4개가 적용됩니다.

문법(Syntax)

public java.lang.String toString(int indentFactor) throws JSONException

예제 코드

import org.json.*;
public class JSONPrettyPrintTest {
    public static void main(String args[]) throws JSONException {
        String json = "{" +
                "Name : Jai," +
                "Age : 25, " +
                "Salary: 25000.00 " +
                "}";
        JSONObject jsonObj = new JSONObject(json);
        System.out.println("Pretty Print of JSON:");
        System.out.println(jsonObj.toString(4)); // pretty print json
    }
}

실행 결과(Output)

Pretty Print of JSON:
{
    "Salary": 25000,
    "Age": 25,
    "Name": "Jai"
}

참고 사항

org.json 라이브러리는 JDK에 기본적으로 포함되어 있지 않으므로, Maven 프로젝트에서 사용하려면 pom.xml에 다음과 같이 의존성을 추가해야 합니다.

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

또한 JSON 객체의 키 순서는 내부적으로 HashMap으로 관리되기 때문에, 입력 문자열의 순서와 출력 결과의 순서가 다르게 나타날 수 있다는 점도 참고하시기 바랍니다.