복붙노트

[SPRING] 스프링 부트 1.2.3의 경우 JSON 직렬화에서 null 값을 무시하도록 설정하는 방법은 무엇입니까?

SPRING

스프링 부트 1.2.3의 경우 JSON 직렬화에서 null 값을 무시하도록 설정하는 방법은 무엇입니까?

Spring Boot 1.2.3에서는 특성 파일을 통해 Jackson ObjectMapper를 사용자 정의 할 수 있습니다. 하지만 JSON 문자열로 객체를 직렬화 할 때 Jackson이 null 값을 무시하도록 설정할 수있는 속성을 찾을 수 없습니다.

spring.jackson.deserialization.*= # see Jackson's DeserializationFeature
spring.jackson.generator.*= # see Jackson's JsonGenerator.Feature
spring.jackson.mapper.*= # see Jackson's MapperFeature
spring.jackson.parser.*= # see Jackson's JsonParser.Feature
spring.jackson.serialization.*=

같은 코드를 보관하고 싶습니다.

ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(Include.NON_NULL);

해결법

  1. ==============================

    1.이는 Spring Boot 1.3.0의 향상된 기능입니다.

    이는 Spring Boot 1.3.0의 향상된 기능입니다.

    불행히도 1.2.3에서 프로그래밍 방식으로 구성해야합니다.

    @JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
    public class Shop {
        //...
    }
    
  2. ==============================

    2.application.properties 파일에 다음 행을 추가하십시오.

    application.properties 파일에 다음 행을 추가하십시오.

    2.7 이전의 Jackson 버전 :

  3. ==============================

    3.이 기능이 중단되기 전에 좋은 해결책이었습니다. @JsonSerialize (include = JsonSerialize.Inclusion.NON_NULL)

    이 기능이 중단되기 전에 좋은 해결책이었습니다. @JsonSerialize (include = JsonSerialize.Inclusion.NON_NULL)

    하지만 이제는 다음을 사용해야합니다.

    @JsonInclude (JsonInclude.Include.NON_NULL) 공용 클래스 ClassName { ...

    여기에서 살펴볼 수 있습니다. https://fasterxml.github.io/jackson-annotations/javadoc/2.7/com/fasterxml/jackson/annotation/JsonInclude.Include.html

  4. ==============================

    4.Spring Boot 1.4.x의 경우 application.properties에 다음 행을 포함시킬 수 있습니다.

    Spring Boot 1.4.x의 경우 application.properties에 다음 행을 포함시킬 수 있습니다.

    spring.jackson.default-property-inclusion = non_null

  5. ==============================

    5.클래스 전체,

    클래스 전체,

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public class MyModel { .... }
    

    전체 속성 :

    public class MyModel {   
        .....
    
        @JsonInclude(JsonInclude.Include.NON_NULL)
        private String myProperty;
    
        .....
    }
    
  6. from https://stackoverflow.com/questions/30042507/for-spring-boot-1-2-3-how-to-set-ignore-null-value-in-json-serialization by cc-by-sa and MIT license