>Java >java지도 시간 >Jackson이 Null 필드를 직렬화하는 것을 어떻게 방지할 수 있습니까?

Jackson이 Null 필드를 직렬화하는 것을 어떻게 방지할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-18 07:04:11631검색

How Can I Prevent Jackson from Serializing Null Fields?

Jackson으로 Null 필드 직렬화 건너뛰기

Jackson은 Null 값이 있는 필드의 직렬화를 억제하는 여러 가지 방법을 제공합니다. 이는 직렬화된 데이터의 크기를 줄이거나 특정 필드가 외부에 노출되지 않도록 하는 데 유용할 수 있습니다.

ObjectMapper 구성

Jackson이 null을 무시하도록 전역적으로 구성하려면 값을 사용하려면 ObjectMapper의 SerializationInclusion 속성을 설정할 수 있습니다.

mapper.setSerializationInclusion(Include.NON_NULL);

이렇게 하면 Jackson이 다음과 같은 필드를 건너뛰게 됩니다. 직렬화 중 null 값.

@JsonInclude 주석 사용

개별 필드의 경우 @JsonInclude 주석을 사용하여 null 값 처리 방법을 제어할 수 있습니다.

class SomeClass {
   @JsonInclude(Include.NON_NULL)
   private String someValue; 
}

이 주석을 사용하면 someValue 필드는 그렇지 않은 경우에만 직렬화됩니다. null.

Getter와 함께 @JsonInclude 사용

또는 getter 메서드에서 @JsonInclude를 사용하여 값에 따라 필드를 선택적으로 제외할 수 있습니다.

class SomeClass {
   private String someValue; 

   @JsonInclude(value=Include.NON_NULL, content=Include.ALWAYS)
   public String getSomeValue() {
      return someValue;
   }
}

이 예에서는 someValue 필드가 null인 경우 직렬화에서 제외되지만, 빈 문자열이더라도 null이 아니면 포함됩니다.

위 내용은 Jackson이 Null 필드를 직렬화하는 것을 어떻게 방지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.