2014-10-08 2 views
6

Ich habe @JsonInclude(Include.NON_NULL) Annotation on Response-Klasse hinzugefügt.@JsonInclude (Include.NON_NULL) funktioniert nicht wie erwartet

@JsonInclude(Include.NON_NULL) 
public class Response { 

    @JsonProperty 
    private String message; 

// getter-setters 
} 

Wenn der Wert der Eigenschaft null ist nicht enthalten in JSON

Aber noch diese Eigenschaft als NULL Ich erhalte.

{ 
"message": null 
} 

Was kann der Grund sein? Fehle ich etwas?

+0

Ist das nicht der Punkt der Annotation Include.NON_NULL? Wenn Sie möchten, dass alle Felder enthalten sind, entfernen Sie die Anmerkung. Es hat wahrscheinlich funktioniert, weil @JsonSerialize (include = Inclusion.NON_NULL) veraltet ist. –

Antwort

4

Ich versuchte

@JsonSerialize(include = Inclusion.NON_NULL) 

intead von

@JsonInclude(Include.NON_NULL) 

und es funktionierte wie erwartet.

Neueste Versionen verwenden diese Syntax.

+0

Danke! Ich hatte dieses Problem in meinem Frühlingsprojekt und benutzte Version 2.3.3 von Jackson. –

+3

com.fasterxml.jackson.databind.annotation.JsonSerialize.Inclusion ist jetzt veraltet: - / – snegi

Verwandte Themen