2015-05-05 8 views
7

W Spring Boot 1.2.3 możemy dostosować obiekt Jackson ObjectMapper poprzez plik właściwości. Ale nie znalazłem atrybutu, który może ustawić Jackson ignorować wartość null podczas serializacji ciąg Object to JSON.W Spring Boot 1.2.3, jak ustawić ignorować wartość zerową w serializacji JSON?

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.*= 

Chcę zarchiwizować ten sam kod jak

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

Odpowiedz

23

Dodaj następujący wiersz do pliku application.properties.

spring.jackson.default-właściciela włączenie = non_null

przypadku wersji Jackson przed 2,7:

spring.jackson.serialization-integracji = non_null

+0

to jest dostępne tylko w wersji Spring Boot 1.3.0 – Smiderle

+0

Pamiętaj, aby nie używać new RestTemplate() , ponieważ nie użyłaby tej konfiguracji, ale utworzyła domyślne konwertery. RestTemplateBuilder.build() używa wszystkich konfiguracji –

6

W przypadku rozruchu rozruchowego 1.4.x można dołączyć następującą linię do swojej aplikacji .properties

spring.jackson.default-property-inclusion=non_null

0

klasy szerokości

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

właściciela szeroki:

public class MyModel { 
    ..... 

    @JsonInclude(JsonInclude.Include.NON_NULL) 
    private String myProperty; 

    ..... 
} 
Powiązane problemy