854 Stimmen

Wie kann man Jackson anweisen, ein Feld bei der Serialisierung zu ignorieren, wenn sein Wert null ist?

Wie kann Jackson so konfiguriert werden, dass der Wert eines Feldes bei der Serialisierung ignoriert wird, wenn der Wert dieses Feldes null ist?

Zum Beispiel:

public class SomeClass {
   // what jackson annotation causes jackson to skip over this value if it is null but will 
   // serialize it otherwise 
   private String someValue; 
}

45voto

Yury Punkte 521

Sie können einstellen application.properties :

spring.jackson.default-property-inclusion=non_null

oder application.yaml :

spring:
  jackson:
    default-property-inclusion: non_null

http://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

13voto

alfthan Punkte 453

In meinem Fall

@JsonInclude(Include.NON_EMPTY)

hat es funktioniert.

11voto

Neha Gangwar Punkte 610
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonInclude(JsonInclude.Include.NON_EMPTY)

sollte funktionieren.

Include.NON_EMPTY gibt an, dass die Eigenschaft serialisiert wird, wenn ihr Wert nicht null und nicht leer ist. Include.NON_NULL zeigt an, dass die Eigenschaft serialisiert wird, wenn ihr Wert nicht null ist.

6voto

Deva Punkte 1617

Dies wird funktionieren in Spring Boot 2.0.3+ und Jackson 2.0+

import com.fasterxml.jackson.annotation.JsonInclude;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class ApiDTO
{
    // your class variable and 
    // methods
}

5voto

Ilia Kurtov Punkte 989

Wenn du diese Regel zu allen Modellen in Jackson 2.6+ hinzufügen möchtest, verwende:

mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X