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 18 Javascript
JavaScript Prototype对象
Jan 07 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
Nov 04 Javascript
iframe如何动态创建及释放其所占内存
Sep 03 Javascript
JavaScript解析json格式数据简单示例
Dec 09 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
Aug 06 Javascript
探索angularjs+requirejs全面实现按需加载的套路
Feb 26 Javascript
微信小程序时间选择插件使用详解
Dec 28 Javascript
vue3.0 搭建项目总结(详细步骤)
May 20 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
Sep 02 Javascript
Js代码中的span拼接问题解决
Nov 22 Javascript
vue 防止页面加载时看到花括号的解决操作
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 echo 输出字符串函数详解
2010/05/13 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
laravel中的一些简单实用功能
2018/11/03 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
一个简单的js动画效果代码
2010/07/20 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
2015/04/02 Javascript
js获取iframe中的window对象的实现方法
2016/05/20 Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
2017/02/10 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
javascript实现简单搜索功能
2020/03/26 Javascript
Python基于动态规划算法计算单词距离
2015/07/25 Python
Python中列表和元组的相关语句和方法讲解
2015/08/20 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
浅析Python中return和finally共同挖的坑
2017/08/18 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
python pandas 时间日期的处理实现
2019/07/30 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
python性能测试工具locust的使用
2020/12/28 Python
世界上最好的威士忌和烈性酒购买网站:The Whisky Exchange
2016/11/20 全球购物
俄罗斯三星品牌商店:Samsungstore
2020/04/05 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
财务会计专业个人求职信范本
2014/01/08 职场文书
书香校园活动方案
2014/02/28 职场文书
乡镇办公室工作决心书
2014/03/11 职场文书
房屋委托书范本
2014/04/04 职场文书
2014年加油站工作总结
2014/12/04 职场文书
2015年试用期工作总结
2014/12/12 职场文书
地方课程教学计划
2015/01/19 职场文书
土地租赁协议书
2015/01/29 职场文书
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android
「女孩的钓鱼慢活」全新版权绘公布
2022/03/21 日漫
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技