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 相关文章推荐
Prototype Function对象 学习
Jul 12 Javascript
JavaScript基础知识之数据类型
Aug 06 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
Jul 03 Javascript
基于JS实现的倒计时程序实例
Jul 24 Javascript
利用JavaScript实现栈的数据结构示例代码
Aug 02 Javascript
使用Vue自定义数字键盘组件(体验度极好)
Dec 19 Javascript
小程序云开发部署攻略(图文教程)
Oct 30 Javascript
antd Upload 文件上传的示例代码
Dec 14 Javascript
ES6 对象的新功能与解构赋值介绍
Feb 05 Javascript
JavaScript HTML DOM元素 节点操作汇总
Jul 29 Javascript
在layui中layer弹出层点击事件无效的解决方法
Sep 05 Javascript
JavaScript如何实现防止重复的网络请求的示例
Jan 28 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 输出缓存详解
2009/06/20 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
jquery里的each使用方法详解
2010/12/22 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
angular.bind使用心得
2015/10/26 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
JS实现浏览上传文件的代码
2017/08/23 Javascript
详解关于webpack多入口热加载很慢的原因
2019/04/24 Javascript
vue中引入mxGraph的步骤详解
2019/05/17 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
javascript面向对象三大特征之封装实例详解
2019/07/24 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
python在windows下实现ping操作并接收返回信息的方法
2015/03/20 Python
深入理解Django的自定义过滤器
2017/10/17 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
优秀生推荐信范文
2013/11/28 职场文书
上课迟到检讨书
2014/02/19 职场文书
2014年幼儿园植树节活动方案
2014/03/02 职场文书
运动会演讲稿50字
2014/08/25 职场文书
2014年终个人工作总结
2014/11/07 职场文书
小升初自荐信怎么写
2015/03/26 职场文书
2015年妇女工作总结
2015/05/14 职场文书
放牛班的春天观后感
2015/06/01 职场文书
施工现场安全管理制度
2015/08/05 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
mysql查询结果实现多列拼接查询
2022/04/03 MySQL