当使用json写map对象时里面的重复对象会变成引用,导致前段取不到
2016-10-31 16:58
330 查看
例子:
当map中的第一个对象中的category对象为上面的代码,下一个map中的对象里的category对象如果相同就会出现以下情况:
"category":$ref":"$.rows[0].category
可以看见变成了前一个map对象中的category的引用。
此时解决方法:
String jsonStr = JSON.toJSONString(map,SerializerFeature.DisableCircularReferenceDetect);
在转换json串的时候加一个SerializerFeature.DisableCircularReferenceDetect属性,这样就不会检测重复的对象了。
参考博客:http://blog.csdn.net/wxwzy738/article/details/30244993
当map中的第一个对象中的category对象为上面的代码,下一个map中的对象里的category对象如果相同就会出现以下情况:
"category":$ref":"$.rows[0].category
可以看见变成了前一个map对象中的category的引用。
此时解决方法:
String jsonStr = JSON.toJSONString(map,SerializerFeature.DisableCircularReferenceDetect);
在转换json串的时候加一个SerializerFeature.DisableCircularReferenceDetect属性,这样就不会检测重复的对象了。
参考博客:http://blog.csdn.net/wxwzy738/article/details/30244993
相关文章推荐
- C++多态必须使用指针或者引用,直接传对象就变成切片
- Map里面存放的是对象的引用
- 使用第三方工具,将JavaBean对象/List或Set或Map对象转成JSON
- 使用Gson解析Json为Map对象探索(上)
- 在主方法中创建map集合中存储3个学生对象.key使用字符串表示编号(不能重复)value是学生对象。然后调用以下两个方法;
- 使用json序列化类型为“ajax学习.DataSetComment+T_CommentDataTable”的对象时检测到循环引用。
- 使用 EntityFramework后把一个对象序列化成json字符串引起循环引用的问题
- epoll 指向的d对象导致的gc释放问题,使用手动释放gc引用的对象
- fastjson中$ref对象重复引用问题解决方法
- 使用map巧妙去除集合中重复的对象
- 使用xStream对(Java对象、List集合、Map )到JSON转换、从JSON转换java对象
- 使用GSON库将Java中的map键值对应结构对象转换为JSON
- json对象、json格式字符串、java对象【使用此net.sf.json.JSONObject将java对象[比如数组集合Map、Map扩展]转换成json格式字符串】
- 将List<Map<String,String>型的数据,变成一个JSON对象。
- 对象转换为json串的类,没有引用其他的jar包,可以直接使用
- 有关如何在java代码中使用json来互转对象、List、Map等
- 使用第三方工具,将JavaBean对象或者List<JavaBean/String/Integer>或Set或Map对象转成JSON
- 解决fastjson内存对象重复/循环引用json错误
- 对象转换为Map集合,使用JSONObject实现
- 使用Jackson将JSON字符串转换为MAP对象