最近在编写接口的时候,后台需要给前端返回数据,但是查询出来的结果中有很多属性是多余,本想着用字符串替换,但是发现好像不太行,多个属性的过滤好像并不太靠谱,于是网上百度了一些方法,今天在这里做一个总结汇总,在需要的时候大家可以作为参考。
pojo:
方式一:
实现Person类实现net.sf.json.JSONString接口。
测试结果如下:
方式二:
用net.sf.json.JsonConfig设置需要或者不需要的属性。
测试结果如下:
方式三:
使用JsonConfig的setJsonPropertyFilter方法,配合net.sf.json.util.PropertyFilter实例来过滤需要或者不要的属性,通过改变返回值true、false来控制需要或者不要。
测试结果如下:
注:上面方式三的两种实现仅仅是返回的值不一样就可以起到不同的效果。
方式四:
使用com.alibaba.fastjson.serializer.SimplePropertyPreFilter。
测试结果如下:
注:方式四主要是用来保留字段而用的。
总结:
上面我们罗列了四种方式来进行json的过滤,就本人而言还是觉得方式四用的比较舒服点,不过这也因人而异,四种方式本质上没有太大的区别,所以大家皆可采纳。
(完)