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 相关文章推荐
JS获取当前日期和时间的简单实例
Nov 19 Javascript
js简单实现点击左右运动的方法
Apr 10 Javascript
JavaScript中的anchor()方法使用详解
Jun 08 Javascript
JavaScript+html5 canvas绘制的小人效果
Jan 27 Javascript
jQuery中layer分页器的使用
Mar 13 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
Dec 08 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
Aug 24 Javascript
vue自动路由-单页面项目(非build时构建)
Apr 30 Javascript
JS自定义对象创建与简单使用方法示例
Jan 15 Javascript
js实现动态时钟
Mar 12 Javascript
实例讲解React 组件生命周期
Jul 08 Javascript
es5 类与es6中class的区别小结
Nov 09 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 小心urldecode引发的SQL注入漏洞
2011/10/27 PHP
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
jquery延迟对象解析
2016/10/26 Javascript
详解angularjs利用ui-route异步加载组件
2017/05/21 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
python机器学习实战之K均值聚类
2017/12/20 Python
python数据结构之线性表的顺序存储结构
2018/09/28 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
解决Django加载静态资源失败的问题
2019/07/28 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
2020/05/15 Python
利用Python如何画一颗心、小人发射爱心
2021/02/21 Python
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
买房子个人收入证明
2014/01/16 职场文书
安全生产中长期规划实施方案
2014/02/21 职场文书
高考寄语大全
2014/04/08 职场文书
2014新生大学四年计划书
2014/09/21 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
农村党员干部承诺书
2015/05/04 职场文书
小平您好观后感
2015/06/09 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
压缩Redis里的字符串大对象操作
2021/06/23 Redis