@JsonInclude (Include.NON_NULL) does not work properly

I added the @JsonInclude(Include.NON_NULL) annotation @JsonInclude(Include.NON_NULL) to the Response class.

 @JsonInclude(Include.NON_NULL) public class Response { @JsonProperty private String message; // getter-setters } 

If null, the property is not included in JSON

But still, I get this property as NULL.

 { "message": null } 

What is the reason? Did I miss something?

+6
source share
3 answers

I did my best

 @JsonSerialize(include = Inclusion.NON_NULL) 

intead of

 @JsonInclude(Include.NON_NULL) 

and it worked as expected.

+7
source

I am using Java Spring and in this I am implementing as:

Class level:

 import com.fasterxml.jackson.annotation.JsonInclude; @JsonInclude(JsonInclude.Include.NON_NULL) public class Student { String name; //getter-setter } 

You can also implement this at the element level of a class:

Item Level:

 import com.fasterxml.jackson.annotation.JsonInclude; @JsonInclude(JsonInclude.Include.NON_NULL) public class Student { String name; @JsonInclude(JsonInclude.Include.NON_NULL) String address; //getter-setter } 
+2
source

This is deprecated:

 @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL) 

Use instead:

 @JsonInclude(Include.NON_NULL) 
+1
source

Source: https://habr.com/ru/post/976422/


All Articles