[java] Jackson의 JSON 포맷과 날짜 변환

Jackson 라이브러리는 JSON 데이터를 다루는 데 매우 유용한 라이브러리입니다. JSON 데이터를 Java 객체로 변환하거나 Java 객체를 JSON으로 직렬화하는 작업을 할 때 유용하게 활용됩니다.

이번에는 Jackson 라이브러리를 사용하여 JSON 데이터의 형식을 설정하고, 날짜를 포함한 데이터를 변환하는 방법을 알아보겠습니다.

JSON 포맷 설정

Jackson을 사용하여 Java 객체를 JSON으로 직렬화할 때, 기본적으로는 객체의 필드명을 그대로 JSON의 key로 사용합니다. 하지만 경우에 따라서는 JSON의 key를 다른 이름으로 설정해야 하는 경우도 있습니다.

public class MyObject {
    @JsonProperty("full_name")
    private String fullName;

    // getters and setters
}

위의 예제에서 @JsonProperty("full_name") 어노테이션을 사용하여 Java 객체의 필드인 fullName을 JSON의 key로 full_name으로 설정하였습니다.

날짜 변환

JSON으로 직렬화할 때 Java의 Date나 Calendar 객체를 JSON 문자열로 변환하려면, JsonSerializer 를 사용하여 변환 처리를 해주어야 합니다.

public class Event {
    private String name;
    @JsonSerialize(using = CustomDateSerializer.class)
    private Date eventDate;
  
    // getters and setters
}

위의 예제에서 @JsonSerialize(using = CustomDateSerializer.class) 어노테이션을 사용하여 eventDate 필드를 JSON으로 변환할 때 CustomDateSerializer 클래스를 사용하여 처리하도록 설정하였습니다.

결론

Jackson 라이브러리를 사용하면 JSON 데이터의 포맷을 객체에 맞게 설정하거나, 특정 데이터 형식을 다른 형식으로 변환하는 등의 다양한 작업을 쉽게 처리할 수 있습니다. 위에서 소개한 방법들을 활용하여 본인의 프로젝트에 맞는 JSON 데이터 처리를 쉽게 구현할 수 있을 것입니다.

References