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 选择器 xpath 语法应用
May 13 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
Mar 03 Javascript
jQuery.query.js 取参数的两点问题分析
Aug 06 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
Nov 22 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
Jan 07 Javascript
21个值得收藏的Javascript技巧
Feb 04 Javascript
jQuery 取值、赋值的基本方法整理
Mar 31 Javascript
javascript加载xml 并解析各节点的值(实现方法)
Oct 12 Javascript
微信小程序实现自上而下字幕滚动
Jul 14 Javascript
JavaScript基于数组实现的栈与队列操作示例
Dec 22 Javascript
js实现文章目录索引导航(table of content)
May 10 Javascript
js实现九宫格布局效果
May 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
英雄试炼之肉山谷—引领RPG新潮流
2020/04/20 DOTA
PHP类与对象中的private访问控制的疑问
2012/11/01 PHP
php变量作用域的深入解析
2013/06/03 PHP
一段实用的php验证码函数
2016/05/19 PHP
js 单引号 传递方法
2009/06/22 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
javascript中怎么做对象的类型判断
2013/11/11 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
JavaScript移除数组内重复元素的方法
2015/03/18 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
解决mpvue + vuex 开发微信小程序vuex辅助函数mapState、mapGetters不可用问题
2018/08/03 Javascript
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
Python闭包实现计数器的方法
2015/05/05 Python
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
Python实现翻转数组功能示例
2018/01/12 Python
python代码如何实现余弦相似性计算
2020/02/09 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
违纪检讨书2000字
2014/02/08 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
加强机关作风建设心得体会
2014/10/22 职场文书
医学专业大学生职业生涯规划书
2014/10/25 职场文书
自主招生学校推荐信范文
2015/03/26 职场文书
劳动仲裁调解书
2015/05/20 职场文书
2016高考冲刺决心书
2015/09/23 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
SQL Server #{}可以防止SQL注入
2022/05/11 SQL Server