第一种,在配置文件配置
在application.xml直接配置,这种方式是全局配置,所有返回给前端对象的属性为null或""都不进行序列化;
spring:
jackson:
#实体类转json时字段为null不参与序列化
default-property-inclusion: NON_EMPTY
default-property-inclusion 常用的4种类型
- ALWAYS 默认
- NON_DEFAULT 属性为默认值不序列化
- NON_EMPTY 属性为 “” 或者为NULL都不序列化
- NON_NULL 属性为NULL时不序列化
第二种,给每个类单独设置
给为空时需要忽略序列化的对象属性加 @JsonInclude(Include.NON_NULL)
,也可以直接加到类上,表示一整个对象的属性为null时都不参与序列化;
@JsonInclude 括号里面可以设置不同的类型
- Include.Include.ALWAYS 默认
- Include.NON_DEFAULT 属性为默认值不序列化
- Include.NON_EMPTY 属性为 “” 或者为NULL都不序列化
- Include.NON_NULL 属性为NULL时不序列化
如果配置了全局,又给某个对象进行注解方式的设置,注解方式会覆盖全局的设置。