zoukankan      html  css  js  c++  java
  • Java过滤JSON数据

    前段时间在编写接口的过程中,后台需要给前端返回JSON数据,但是查询出来返回的数据里面有很多属性是不需要的,当时想着用字符串替换,但是发现好像根本不靠谱,

    多个属性根本无卵用,后面再网上查了下,发现Java里面有提供JSON属性过滤的方法,使用了下感觉还不错,所以记录一下。

    这里提供了两种过滤方法,分别用于不同的场景,可以视实际情况使用:

    1.多个属性过滤

    PropertyFilter profilter = new PropertyFilter(){
    @Override
    public boolean apply(Object object, String name, Object value) {
      if(name.equalsIgnoreCase("指定字段")){
        //false表示last字段将被排除在外
        return false;
        }
      return true;
      }

    };

    调用时:
    String json = JSON.toJSONString(user, profilter);

    上面的方法主要实用于多个属性字段过滤,该方法过滤属性灵活.当需要保留多个JSON属性数据时,可以使用上面的if后面嵌套多个else if即可过滤多个属性。

    2.保留指定属性,过滤其他属性

    SimplePropertyPreFilter filter = new SimplePropertyPreFilter(需要过滤属性的类.class, "需要使用的属性(可以为多个)");  

    调用时:

    String json = JSON.toJSONString(user, filter);

    该方法主要适用于指定属性字段保留,而过滤其他属性,也可保留多个属性,使用逗号隔开。

  • 相关阅读:
    chrome更新后,恢复本地丢失的书签和历史记录
    redis 集合set 使用 rediscluster 使用交集
    git 删除分支恢复
    SQL语句性能优化
    A调用B,b有事务,a没有
    Unable to tunnel through proxy. Proxy returns "HTTP/1.0 407 Proxy Authentica 问题处理
    fasnjson 转换
    String.format()的详细用法
    传递json
    基础入门-加密编码算法
  • 原文地址:https://www.cnblogs.com/Bengi/p/6836810.html
Copyright © 2011-2022 走看看