Json过滤

最近在编写接口的时候,后台需要给前端返回数据,但是查询出来的结果中有很多属性是多余,本想着用字符串替换,但是发现好像不太行,多个属性的过滤好像并不太靠谱,于是网上百度了一些方法,今天在这里做一个总结汇总,在需要的时候大家可以作为参考。

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的过滤,就本人而言还是觉得方式四用的比较舒服点,不过这也因人而异,四种方式本质上没有太大的区别,所以大家皆可采纳。

(完)

本文分享自微信公众号 - coding个人笔记(gh_2ce38b49dae1),作者:Eldon Han

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 前端缓存之HTTP缓存

    说真的,当自己还很小白的时候,明明修改了JS的内容了,但是就是没有加载成功,那时候感觉好神奇,好没道理。后来知道了这是因为缓存的原因。

    wade
  • ES6之Generator函数的语法

    Function关键字之后加*内部用yield表达式,相当于这个函数有三个状态a、b、c。调用的时候跟普通函数一样,但是不是执行这个函数,而是返回一个指针对象,...

    wade
  • 数据类型判断Object.prototype.toString.call

    越学习越觉得基础的不牢固,不懂的,摸棱两可的,学了忘了的,在从入门到放弃的路上一直走着。今天分享一下数据类型判断的方法。

    wade
  • Startdt AI提出:使用生成对抗网络用于One-Stage目标检测的知识蒸馏方法

    人工智能正在驱动新一轮的商业变革,而算法技术则是推动核心底层技术的重要力量。算法崛起时代,技术浪潮可谓一日千里,算法工程师也只有不断精进自身技术,才能与时俱进、...

    奇点云
  • 微软.NET Core RC2正式发布,横跨所有平台

    .NET官方博客宣布了《Announcing .NET Core RC2 and .NET Core SDK Preview 1》,正式如期发布了.NET Co...

    张善友
  • 给CVPR颁“金酸莓奖”,知乎网友热议最差论文,战火烧到Reddit论坛

    今年CVPR共有1200多篇论文被接收,官方评出了最佳论文,民间则评出了最差论文。

    量子位
  • 2018年ML/AI重大进展有哪些?LeCun推荐了这篇回答

    刚刚,前Quora技术VP、AI领域技术专家Xavier Amatriain在Quora上回答了一个相关的问题:2018年ML/AI领域最重要的进展是什么?

    量子位
  • 数据结构和算法——旋转打印链表

    1、问题描述 输入参数nnn为正整数,如输入n=5n=5n=5,则按行打印如下的数字: ? 2、问题的理解 这个问题是将数字1…n21…n21\dots n^2...

    zhaozhiyong
  • 架构师能力模型

    开发者应该根据自己的性格、爱好来选择自己的职业方向。对于性格外向、愿意多与人交流、沟通能力较好的同学,可以考虑向管理方向发展。对于热爱技术、喜欢钻研、性格偏内向...

    物流IT圈
  • WCF后续之旅(10): 通过WCF Extension实现以对象池的方式创建Service Instance

    我们知道WCF有3种典型的对service instance进行实例化的方式,他们分别与WCF的三种InstanceContextMode相匹配,他们分别是Pe...

    蒋金楠

扫码关注云+社区

领取腾讯云代金券