`

JSON如何过滤对象属性

 
阅读更多
方法一:

    JsonConfig jsonConfig=new JsonConfig(); 

    config.setJsonPropertyFilter(new PropertyFilter(){
    public boolean apply(Object source, String name, Object value) {
     if(name.equals("familyMemberRoles") || name.equals("familyMemberRels")
       || name.equals("familyMemberRoles")
       || name.equals("familyBaseInfos") || name.equals("familyRoleAuthorities")
       || name.equals("memberIncomes") || name.equals("memberLoanouts")
       || name.equals("memberOnloans") || name.equals("memberOutlaies")
       || name.equals("memberRoleRels")) {          
      return true;
     } else {
      return false;
     }
    }
   });  


   FamilyBaseInfo familyBaseInfo = familyBaseInfoDao.findById(familyId);
   MemberBaseInfo memberBaseInfo = familyBaseInfo.getMemberBaseInfo();
   HashMap hashMap = new HashMap();
   hashMap.put("familyBaseInfo", familyBaseInfo);
   hashMap.put("memberBaseInfo", memberBaseInfo);
   JSONObject jSONObject = JSONObject.fromObject(familyBaseInfo, jsonConfig);
   return jSONObject.toString();

方法二:

   JsonConfig jsonConfig=new JsonConfig();  

   jsonConfig.setExcludes(new String[]{ "handler", "hibernateLazyInitializer",

   "familyMemberRoles", "familyMemberRels", "familyMemberRoles", "familyBaseInfos",

   "familyRoleAuthorities", "memberIncomes","memberLoanouts", "memberOnloans",

   "memberOutlaies", "memberRoleRels"});
   
   FamilyBaseInfo familyBaseInfo = familyBaseInfoDao.findById(familyId);
   MemberBaseInfo memberBaseInfo = familyBaseInfo.getMemberBaseInfo();
   HashMap hashMap = new HashMap();
   hashMap.put("familyBaseInfo", familyBaseInfo);
   hashMap.put("memberBaseInfo", memberBaseInfo);
   JSONObject jSONObject = JSONObject.fromObject(familyBaseInfo, jsonConfig);
   return jSONObject.toString();

 

   转自:http://blog.sina.com.cn/s/blog_8909899b0100wcbn.html

分享到:
评论

相关推荐

    javascript对象转换成json

    - `replacer`(可选):一个函数或者一个数组,用来转换或过滤对象的属性值。如果函数被提供,对于每个对象的属性,都会调用这个函数,其返回值将作为JSON字符串中的属性值。如果是一个数组,只包含数组中的属性名会...

    Json字段过滤器

    例如,可以定义一个名为`@HiddenField`的注解,用在类的属性上,表示该字段不应出现在序列化后的JSON中。注解的定义如下: ```java import java.lang.annotation.ElementType; import java.lang.annotation....

    JSON--List集合转换成JSON对象详解

    4. JSON过滤配置: 在将集合转换为JSON时,可能会有一些不必要的数据或属性需要过滤掉。文中提到使用JsonConfig来设置JsonPropertyFilter,这样可以在序列化过程中过滤掉不需要的属性或对象。这是一种更加精细的...

    javascript遍历json对象的key和任意js对象属性实例.docx

    ### JavaScript遍历JSON对象的Key和任意JS对象属性实例 #### 概述 在JavaScript编程中,经常需要遍历对象的属性来进行数据处理或逻辑控制。对于JSON对象(本质上是JavaScript对象的一种)和其他类型的对象,我们...

    使用json-lib将java对象转换成json字符串

    - `commons-collections-3.2.1.jar`:提供集合操作的扩展,如映射、过滤等,有助于处理JSON中的数组和对象结构。 - `commons-logging-1.1.1.jar`:提供日志接口,用于记录json-lib库在运行过程中的信息和错误。 -...

    List对象转JSON对象jar包

    在转换场景下,它可以帮助处理List中的JavaBean对象,将其属性转换为JSON友好的格式。 6. **commons-logging-1.2.jar**:Apache Commons Logging是一个日志抽象层,允许开发者在不修改代码的情况下更换底层的日志...

    比较json对象中的两个数组含有的相同元素,点击按钮输出新的数组

    假设我们有两个JSON对象,`obj1`和`obj2`,它们各自包含一个数组属性,如`arr1`和`arr2`: ```json { "obj1": { "arr1": ["元素1", "元素2", "元素3", "元素4"] }, "obj2": { "arr2": ["元素2", "元素4", ...

    json 数据解析包

    在这个上下文中,它可能为处理JSON数据提供了一些辅助功能,比如遍历、过滤或转换JSON对象。 2. **commons-lang-2.3.jar**:Apache Commons Lang是另一个Apache项目,包含了一些Java语言工具类,如字符串操作、日期...

    JSON工具类包含对象转hashmap

    包含各种对象转换成json对象,还包含把对象中的属性转成hashmap 并且可以过滤为空的或者为null的对象

    将表单序列化为json对象

    这个数组的每个元素都是一个对象,包含`name`(字段名)和`value`(字段值)两个属性。 **3. 使用示例** 假设有一个简单的HTML表单: ```html 张三" /> ...

    JsonSQL:用SQL语句解析JSON文件

    例如,`SELECT data.name FROM json` 会返回JSON对象中名为"data"的属性的"name"子属性。 2. **FROM**: 定义JSON数据源。如 `FROM json` 指示JsonSQL从名为"json"的JSON文件或数据中读取。 3. **WHERE**: 过滤数据...

    这几种方式将前端的 对象转换成json ,再用 Json.stringify(list)

    上述代码只会保留对象中的'name'属性,且生成的JSON字符串会使用2个空格进行缩进。 4. **处理日期** JSON不支持Date类型,因此我们需要手动处理。我们可以将其转换为字符串,如ISO格式。 ```javascript let ...

    sturts框架下返回json数据 list map 对象

    4. **返回JSON数据**:在Action的方法执行完毕后,由于配置了`json`结果类型,Struts2会自动将Action的属性转换为JSON格式并返回给客户端。如果需要自定义JSON输出,可以通过`@ResultType`注解指定特定的JSON结果...

    JSON字符串和对象相互转换

    如果需要在转换过程中过滤某些属性,可以传递一个替换函数: ```javascript let jsonString = JSON.stringify(obj, function(key, value) { if (key === 'age') return undefined; return value; }); console.log...

    前端开源库-json-path

    6. **获取对象属性**:`$..author`返回所有层级中`author`属性的值。 7. **获取数组内所有属性**:`$..*`将返回所有对象的所有属性值。 8. **操作JSON数据**:除了查询,`json-path`库还允许对JSON数据进行修改,...

    json使用大全json使用大全json使用大全json使用大全json使用大全json使用大全json使用大全json使用大全

    在序列化过程中,这些非JSON支持的属性会被忽略或者转换为字符串。 4. 在实际开发中的应用 - API交互:Web应用通过HTTP请求从服务器获取或发送JSON数据。 - 存储数据:浏览器的localStorage和sessionStorage支持...

    js将数组对象格式的的数据转为json

    然而,有时我们可能需要对数据进行一些处理后再转换,例如过滤或修改某些属性。这时可以提供第二个参数,一个替换函数,该函数会在每个值被序列化之前被调用: ```javascript let jsonString = JSON.stringify...

    JSON.stringify()报错:JSON未定义

    2. 可选的replacer函数,用于过滤或转换对象的属性值。 3. 可选的空格数量,用于格式化输出的JSON字符串。 例如,如果我们有一个简单的JavaScript对象: ```javascript let obj = {name: "John", age: 30}; ``` ...

    重庆全市JSONAPI

    在JSON对象中,属性以键值对形式存在。 4. **关系(Relationships)**:资源之间可能存在关系,如区县与景点之间的包含关系。JSONAPI通过`relationships`字段来表示这些关联。 5. **嵌套数据(Nested Data)**:...

    Json文件解析dll

    8. **LINQ to JSON**: Json.NET提供了类似LINQ的查询方式来操作JSON数据,可以使用LINQ表达式方便地查找、过滤和修改JSON数据。 9. **JsonConstructorAttribute**: 可以用此特性标记一个构造函数,使Json.NET在反...

Global site tag (gtag.js) - Google Analytics