Jackson 직렬화에서 Null 필드 값 처리
인기 있는 Java 직렬화 라이브러리인 Jackson은 직렬화 동작을 맞춤화하기 위한 다양한 구성 옵션을 제공합니다. 일반적인 시나리오 중 하나는 null인 필드 값의 직렬화를 억제하는 것입니다. 이렇게 하면 null이 아닌 속성만 직렬화된 출력에 포함됩니다.
Jackson에서 Null 값 억제를 구성
Jackson에게 null을 무시하도록 지시하는 두 가지 기본 접근 방식이 있습니다. 직렬화 중 필드 값
1. SerializationInclusion 사용:
ObjectMapper mapper = new ObjectMapper(); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
이 전역 구성은 ObjectMapper에서 처리되는 모든 클래스의 모든 필드에 적용됩니다. null 값이 있는 모든 필드가 직렬화된 출력에서 생략되도록 보장합니다.
2. @JsonInclude 주석 사용:
@JsonInclude(Include.NON_NULL) public class SomeClass { private String someValue; }
@JsonInclude 주석을 클래스 또는 getter 메서드에 적용하면 특정 속성 또는 하위 클래스에 대한 직렬화 동작을 지정할 수 있습니다. include.NON_NULL을 설정하면 해당 필드에 대해 null이 아닌 값만 직렬화되어야 함을 나타냅니다.
대체 접근 방식
또는 @JsonInclude 주석을 사용할 수 있습니다. 특정 속성에 대한 getter 메서드에서 해당 값이 아닌 경우에만 속성을 조건부로 직렬화합니다. null.
@JsonInclude(value = JsonInclude.Include.NON_NULL, condition = JsonInclude.Include.Condition.NON_NULL) public String getSomeValue() { return someValue; }
추가 고려 사항
이러한 구성은 역직렬화 프로세스에 영향을 주지 않습니다. 역직렬화 중에 null 값이 발견되면 해당 필드에 계속 설정됩니다. 역직렬화 동작을 제어하려면 @JsonIgnoreProperties 및 @JsonIgnore에 대한 Jackson 설명서를 참조하세요.
위 내용은 Jackson 직렬화 중에 Null 필드 값을 억제하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!