我在Response类上添加了@JsonInclude(Include.NON_NULL)
注释。
@JsonInclude(Include.NON_NULL)
public class Response {
@JsonProperty
private String message;
// getter-setters
}
如果值为null,则该属性不包含在JSON中
但我仍然将此属性设为NULL。
{
"message": null
}
可能是什么原因?我错过了什么吗?
答案 0 :(得分:7)
我试过
@JsonSerialize(include = Inclusion.NON_NULL)
而不是
@JsonInclude(Include.NON_NULL)
它按预期工作。
答案 1 :(得分:2)
我正在使用Java Spring,并且在实现中,像这样:
课程级别:
import com.fasterxml.jackson.annotation.JsonInclude;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Student {
String name;
//getter-setter
}
您也可以在class的元素级别上实现它:
元素级别:
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 :(得分:1)
这已被弃用:
@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
改为使用:
@JsonInclude(Include.NON_NULL)
答案 3 :(得分:1)
我遇到了同样的问题 通过使用
解决@JsonInclude(value = Include.NON_EMPTY, content = Include.NON_NULL)