json-lib出现There is a cycle in the hierarchy解决办法


Posted in Javascript onFebruary 24, 2010

解决办法

1.设置JSON-LIB让其过滤掉引起循环的字段。

Java代码

JsonConfig config = new JsonConfig(); 
config.setIgnoreDefaultExcludes(false); 
config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); 
config.registerJsonValueProcessor(Date.class,new DateJsonValueProcessor("yyyy-MM-dd")); //date processor register 
config.setExcludes(new String[]{//只要设置这个数组,指定过滤哪些字段。 
"consignee", 
"contract", 
"coalInfo", 
"coalType", 
"startStation", 
"balanceMan", 
"endStation" 
}); 
String tempStr = "{\"TotalRecords\":"+ total.toString() +",\"Datas\":"+JSONSerializer.toJSON(list,config).toString()+"}"; 
out.print(tempStr); 
JsonConfig config = new JsonConfig(); 
config.setIgnoreDefaultExcludes(false); 
config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); 
config.registerJsonValueProcessor(Date.class,new DateJsonValueProcessor("yyyy-MM-dd")); //date processor register 
config.setExcludes(new String[]{//只要设置这个数组,指定过滤哪些字段。 "consignee", "contract", "coalInfo", "coalType", "startStation", "balanceMan", "endStation" }); String tempStr = "{\"TotalRecords\":"+ total.toString() +",\"Datas\":"+JSONSerializer.toJSON(list,config).toString()+"}"; out.print(tempStr); 2.设置JSON-LIB的setCycleDetectionStrategy属性让其自己处理循环,省事但是数据过于复杂的话会引起数据溢出或者效率低下。 
Java代码 
[code] 
JsonConfig config = new JsonConfig(); 
config.setIgnoreDefaultExcludes(false); 
config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); 
config.registerJsonValueProcessor(Date.class,new DateJsonValueProcessor("yyyy-MM-dd")); //date processor register 
String tempStr = "{\"TotalRecords\":"+ total.toString() +",\"Datas\":"+JSONSerializer.toJSON(list,config).toString()+"}"; 
out.print(tempStr);
Javascript 相关文章推荐
基于JQuery的asp.net树实现代码
Nov 30 Javascript
JS动态增加删除UL节点LI及相关内容示例
May 21 Javascript
js数组如何添加json数据及js数组与json的区别
Oct 27 Javascript
JavaScript代码生成PDF文件的方法
Feb 26 Javascript
Node.js操作mysql数据库增删改查
Mar 30 Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 Javascript
JavaScript中object和Object的区别(详解)
Feb 27 Javascript
jquery自定义显示消息数量
Dec 19 jQuery
使用vue实现简单键盘的示例(支持移动端和pc端)
Dec 25 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
Jan 21 Javascript
JavaScript生成指定范围随机数和随机序列的方法
May 05 Javascript
Vue前后端不同端口的实现方法
Sep 19 Javascript
ext combox 下拉框不出现自动提示,自动选中的解决方法
Feb 24 #Javascript
javascript Firefox与IE 替换节点的方法
Feb 24 #Javascript
jQuery 性能优化手册 推荐
Feb 23 #Javascript
jquery实现的超出屏幕时把固定层变为定位层的代码
Feb 23 #Javascript
JSON 学习之JSON in JavaScript详细使用说明
Feb 23 #Javascript
js下用层来实现select的title提示属性
Feb 23 #Javascript
jquery 锁定弹出层实现代码
Feb 23 #Javascript
You might like
php代码把全角数字转为半角数字
2007/12/10 PHP
php中filter函数验证、过滤用户输入的数据
2014/01/13 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
angularjs实现的前端分页控件示例
2017/02/10 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
极简主义法编写JavaScript类
2017/11/02 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
简化版的vue-router实现思路详解
2018/10/19 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
Python字符串对象实现原理详解
2019/07/01 Python
python @classmethod 的使用场合详解
2019/08/23 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
python绘制玫瑰的实现代码
2020/03/02 Python
Python类super()及私有属性原理解析
2020/06/15 Python
python实现mask矩阵示例(根据列表所给元素)
2020/07/30 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
介绍一下SQL Server里面的索引视图
2016/07/31 面试题
广告设计专业自荐信范文
2013/11/14 职场文书
汽车专业学生自我评价
2014/01/19 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
家长对孩子的感言
2014/03/10 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
遗嘱格式范本
2015/08/07 职场文书
高一地理教学工作总结
2015/08/12 职场文书
2015年中学体育教师工作总结
2015/10/23 职场文书
Flask搭建一个API服务器的步骤
2021/05/28 Python