关于fastjson对空属性不进行序列化

      今天,在和移动端对接的过程中,发现gson对空字符串,存在序列化到对象存在异常的问题,这个问题我们想从给对象设置默认值,这个我觉得对程序的侵入太深,况且容易因为疏忽,导致不全,然后采用一种统一的方式来解决,这样就可以从上层解决问题,最终我们决定采用空属性不进行序列化的方式来解决。

     首先回到fastjson,我们发现从网上的别人提的问题中,没有找到,最后在fastjson的帮助文档(https://www.w3cschool.cn/fastjson/fastjson-quickstart.html)中,我们找到了(https://www.w3cschool.cn/fastjson/fastjson-serializefilter.html)定制序列化,找到了PropertyFilter可以来控制是否进行序列换。然后在 FastJsonConfig中添加。例如下所示:

       FastJsonConfig fastJsonConfig = new FastJsonConfig();
      
        //解决空值序列化的问题,改为不序列化
       fastJsonConfig.setSerializeFilters(new PropertyFilter() {
           @Override
           public boolean apply(Object o, String s, Object o1) {
               if(o1==null){
                   return false;
               }
               return true;
           }
       });

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值