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 面向对象 继承
May 13 Javascript
jquery下json数组的操作实现代码
Aug 09 Javascript
jQuery实现用户注册的表单验证示例
Aug 28 Javascript
JS实现日期加减的方法
Nov 29 Javascript
jquery实现表单验证简单实例演示
Nov 23 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
Feb 25 Javascript
Ionic快速安装教程
Jun 03 Javascript
Bootstrap显示与隐藏简单实现代码
Mar 06 Javascript
vue生成token保存在客户端localStorage中的方法
Oct 25 Javascript
深入浅析Vue中的 computed 和 watch
Jun 06 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
Sep 05 Javascript
给原生html中添加水印遮罩层的实现示例
Apr 02 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入门的学习方法
2007/01/02 PHP
Laravel 关联模型-关联新增和关联更新的方法
2019/10/10 PHP
js 自动播放的实例代码
2013/11/19 Javascript
innerText 使用示例
2014/01/23 Javascript
js怎么判断flash swf文件是否加载完毕
2014/08/14 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
vue2.0获取自定义属性的值
2017/03/28 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
使用PDB简单调试Python程序简明指南
2015/04/25 Python
Python自定义简单图轴简单实例
2018/01/08 Python
Python获取当前公网ip并自动断开宽带连接实例代码
2018/01/12 Python
Python入门学习指南分享
2018/04/11 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
2018/12/28 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
运动会铅球比赛加油稿
2014/09/26 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
迎新生欢迎词
2015/01/23 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
PHP中->和=>的意思
2021/03/31 PHP
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
2022/04/21 Python
什么是css原子化,有什么用?
2022/04/24 HTML / CSS