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

Java에서 Jackson 라이브러리로 JSON 예쁘게 출력하는 방법

Jackson API는 자바 기반 라이브러리로, 자바 객체를 JSON으로 변환하거나 그 반대로 변환할 때 유용하게 사용됩니다. Jackson API는 다른 라이브러리보다 속도가 빠르고 메모리 사용량이 적어 대용량 객체를 처리하는 데에도 적합합니다. Jackson은 Streaming API, Tree Model, Data Binding이라는 세 가지 방식으로 JSON을 처리할 수 있습니다.

JSON을 보기 좋게 정렬하여 출력(예쁜 인쇄, Pretty Print)하려면 ObjectMapper 클래스의 writerWithDefaultPrettyPrinter() 메서드를 사용하면 됩니다. 이 메서드는 기본적으로 제공되는 들여쓰기용 pretty printer를 사용해 객체를 직렬화하는 ObjectWriter를 생성하는 팩토리 메서드입니다.

문법

public ObjectWriter writerWithDefaultPrettyPrinter()

예제

import java.io.IOException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class PrettyPrintJsonJacksonTest {
    public static void main(String[] args) throws IOException {
        String data = "{\"Age\":30,\"Technologies\":[\"Java\",\"Spark\",\"Python\"],\"Name\":\"Adithya\"}";

        ObjectMapper mapper = new ObjectMapper();
        Object json = mapper.readValue(data, Object.class);

        // Pretty print JSON
        String jsonStr = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json);
        System.out.println(jsonStr);
    }
}

위 코드에서는 먼저 문자열 형태의 JSON 데이터를 readValue() 메서드로 파싱한 후, writerWithDefaultPrettyPrinter()writeValueAsString()을 조합하여 들여쓰기가 적용된 JSON 문자열을 생성합니다.

출력 결과

{
  "Age" : 30,
  "Technologies" : [ "Java", "Spark", "Python" ],
  "Name" : "Adithya"
}

출력 결과를 보면 한 줄로 길게 이어져 있던 원본 JSON과 달리, 각 항목이 줄바꿈과 들여쓰기로 구분되어 훨씬 읽기 쉬운 형태로 정렬된 것을 확인할 수 있습니다. 로그 분석이나 디버깅 시 JSON 구조를 빠르게 파악해야 할 때 이 방법이 특히 유용합니다.