공부/Spring

@JsonInclude(JsonInclude.Include.NON_NULL)

sesam 2024. 1. 19. 18:01
728x90


@JsonInclude(JsonInclude.Include.NON_NULL)은 Jackson 라이브러리에서 사용되는 어노테이션으로, JSON 직렬화 시에 특정 속성의 값이 null인 경우 해당 속성을 생성하지 않도록 지시합니다.

구체적으로 말하면, JsonInclude.Include.NON_NULL은 Jackson이 객체를 JSON으로 변환할 때, 해당 객체의 속성 중 값이 null인 속성들을 제외하고 JSON에 포함하도록 지정합니다. 이렇게 함으로써 생성된 JSON이 불필요한 null 값을 가지지 않게 되며, 일부 상황에서 JSON을 더 간결하게 만들 수 있습니다.

예를 들어, 다음과 같은 Java 클래스가 있다고 가정해봅시다:

 

public class Person {
    private String name;
    private Integer age;

    // 생성자, getter, setter 등 생략
}

만약 이 클래스의 인스턴스를 JSON으로 직렬화하고자 할 때, @JsonInclude(JsonInclude.Include.NON_NULL) 어노테이션을 클래스 수준에 추가하면, age가 null인 경우 해당 속성은 JSON에 포함되지 않습니다.

 

@JsonInclude(JsonInclude.Include.NON_NULL)
public class Person {
    private String name;
    private Integer age;

    // 생성자, getter, setter 등 생략
}

이를 통해 생성된 JSON은 age가 null이 아닌 경우에만 해당 속성이 포함됩니다.

728x90