关于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;
}
});
更多推荐
所有评论(0)