1、问题
如果一个属性是null,它仍然会被序列化到JSON输出中,并且对应的键值对会是"key": null。
现在是希望在属性值为null时,该属性不被包含在JSON输出中
2、解决方式(其中的一种)
使用@JsonInclude
注解
可以放在类或者属性上
常用的配置
Include.Include.ALWAYS 默认 Include.NON_DEFAULT 属性为默认值不序列化 Include.NON_EMPTY 属性为 空('') 或者为 NULL 都不序列化 Include.NON_NULL 属性为NULL 不序列化
上述的需求代码如下
@JsonInclude(JsonInclude.Include.NON_NULL)
public class MyObject {
private String name;
private Integer age;
// 其他属性和方法
}
publicclassMyObject {
@JsonInclude(JsonInclude.Include.NON_NULL)
private String name;
private Integer age;
// 其他属性和方法
}