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 相关文章推荐
Javascript 网页水印(非图片水印)实现代码
Mar 01 Javascript
jQueryUI如何自定义组件实现代码
Nov 14 Javascript
javascript定义函数的方法
Dec 06 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
May 09 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
Jun 28 Javascript
纯css下拉菜单 无需js
Aug 15 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
Dec 13 Javascript
d3.js入门教程之数据绑定详解
Apr 28 Javascript
js中apply和Math.max()函数的问题及区别介绍
Mar 27 Javascript
小程序二次贝塞尔曲线实现购物车商品曲线飞入效果
Jan 07 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
Apr 09 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 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生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
php判断输入是否是纯数字,英文,汉字的方法
2015/03/05 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
JS定时器实例详细分析
2013/10/11 Javascript
js实现的点击div区域外隐藏div区域
2014/06/30 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
React实现点击删除列表中对应项
2017/01/10 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
微信JSSDK调用微信扫一扫功能的方法
2017/07/25 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
Python中的两个内置模块介绍
2015/04/05 Python
Python实现二叉搜索树
2016/02/03 Python
Python 3.8中实现functools.cached_property功能
2019/05/29 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
英国旅游额外服务市场领导者:Holiday Extras(机场停车场、酒店、接送等)
2017/10/07 全球购物
汽车销售顾问求职自荐信
2014/01/01 职场文书
竞聘上岗演讲稿范文
2014/01/10 职场文书
企业文化建设实施方案
2014/03/22 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
高中生第一学年自我鉴定2015
2014/09/28 职场文书
2014年语文教学工作总结
2014/12/17 职场文书