关于使用@JsonInclude(JsonInclude.Include.NON_NULL)标签去除json数据中的空值问题
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
@JsonInclude(JsonInclude.Include.NON_NULL)标记是jackson包提供的json序列化方法,已经集成于Springboot2.0中,此方法的配置意在可以对实体json序列化的时候进行对应的数值处理,
//将该标记放在属性上,如果该属性为NULL则不参与序列化
//如果放在类上边,那对这个类的全部属性起作用
//Include.Include.ALWAYS 默认
//Include.NON_DEFAULT 属性为默认值不序列化
//Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化
//Include.NON_NULL 属性为NULL 不序列化
此注解适用于类标头,可以对实体类引用会自动按规则过滤实体类生成的json数据,也可以通过实现Serializable接口来标识此注解,用于对类的最终json结构进行过滤处理。如下:
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Response<T> implements Serializable {
//请求成功返回码为:0000
private static final String suucessCode = "0000";
//返回数据
private T data;
//返回码
private String code;
//返回描述
private String msg;
public Response(){
this.code = suucessCode;
this.msg = "请求成功";
}
public Response(String code,String msg){
this();
this.code = code;
this.msg = msg;
this.data = data;
}
public Response(T data){
this();
this.data = data;
}
}
以及对Pojo类的引用:
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class User_table {
private Integer User_Id;
private String UserName;
private String Password;
private Integer Administrator_Id;
private Integer Role_Id;
}
此处的加注解之前的浏览结果为
加上注解之后的结果为
除了注解式配置以外SpringBoot还提供了Application.yml配置方法
spring:
jackson:
default-property-inclusion: non_null
此时的返回值结果与上图一样,
注:application.yml这个地方的配置是全局配置可能会影响到其他的某些服务接口,所以谨慎配置。
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献2条内容
所有评论(0)