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脚本代码跑起来。
Jan 09 Javascript
js压缩利器
Feb 20 Javascript
JQuery live函数
Dec 24 Javascript
JavaScript计算两个日期时间段内日期的方法
Mar 16 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
May 09 Javascript
vue 循环加载数据并获取第一条记录的方法
Sep 26 Javascript
如何使用puppet替换文件中的string
Dec 06 Javascript
JS事件绑定的常用方式实例总结
Mar 02 Javascript
JS实现json数组排序操作实例分析
Oct 28 Javascript
NUXT SSR初级入门笔记(小结)
Dec 16 Javascript
vue-cli3配置favicon.ico和title的流程
Oct 27 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短域名转换为实际域名函数
2011/01/17 PHP
PHP扩展开发入门教程
2015/02/26 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
js 关于=+与+=日期函数使用说明(赋值运算符)
2011/11/15 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
js实现表格筛选功能
2017/01/18 Javascript
Node.js静态服务器的实现方法
2018/02/28 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
微信小程序—setTimeOut定时器的问题及解决
2019/07/26 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
在Django的session中使用User对象的方法
2015/07/23 Python
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
python爬虫 使用真实浏览器打开网页的两种方法总结
2018/04/21 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
2018/12/05 Python
python打包成so文件过程解析
2019/09/28 Python
Python PyPDF2模块安装使用解析
2020/01/19 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
怎么快速自学python
2020/06/22 Python
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
2017/08/18 HTML / CSS
台湾全方位线上课程与职能学习平台:TibaMe
2019/12/04 全球购物
地道战观后感500字
2015/06/04 职场文书
小学教师教育随笔
2015/08/14 职场文书
导游词之西安大清真寺
2019/12/17 职场文书
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
SQL语法CONSTRAINT约束操作详情
2022/01/18 MySQL