SpringMVC中用@ResponseBody返回JSON数据时,NULL字段不进行JSON序列化

在SpringMVC 的Controller层中,在返回JSON数据的时候,若要对NULL字段不显示,也就是不对NULL的字段进行JSON序列化,那么有以下几种方法。

1.在实体类中加注解
//将该标记放在属性上,如果该属性为NULL则不参与序列化 
//如果放在类上边,那对这个类的全部属性起作用 
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)  

以上两种注解任选其一,主要加在实体类上即可。
示例:
未加注解前,输出JSON数据,NULL字段也被序列化显示
在这里插入图片描述
在实体类加了注解后

@JsonInclude(JsonInclude.Include.NON_NULL)
public class User {

    private String uId;

    private String uPhone;

    private String uOpenid;

    private Integer uSex;

    private String uWebname;

    private Integer uLevel;

    private Date uCreatetime;

    private Integer uState;

    private List<Carlicen> carlicenList;
    //get和set省略
}

输出结果:
在这里插入图片描述
上图显示,NULL字段没有被序列化,已经不显示了。@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)同理,不做演示。
除了上述两种注解后,还有其他的一些注解,对序列化的各种情况做出设置。

//Include.Include.ALWAYS 默认 
//Include.NON_DEFAULT 属性为默认值不序列化 
//Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化 
//Include.NON_NULL 属性为NULL 不序列化 
2.在Springboot中的application.yml配置文件中修改
spring:
   jackson:
        default-property-inclusion: non_null

在这里插入图片描述

注: 在用fastjson转换为json格式字符串的时候,已经默认的不序列化NULL字段。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值