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 相关文章推荐
jQuery过滤选择器详解
Jan 13 Javascript
Javascript获取表单名称(name)的方法
Apr 02 Javascript
分享两段简单的JS代码防止SQL注入
Apr 12 Javascript
微信小程序 require机制详解及实例代码
Dec 14 Javascript
vue使用axios跨域请求数据问题详解
Oct 18 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
Mar 21 Javascript
原生JS进行前后端同构
Apr 22 Javascript
layui问题之模拟select点击事件的实例讲解
Aug 15 Javascript
es6数据变更同步到视图层的方法
Mar 04 Javascript
jQuery属性选择器用法实例分析
Jun 28 jQuery
create-react-app中添加less支持的实现
Nov 15 Javascript
JavaScript中layim之整合右键菜单的示例代码
Feb 06 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
2009/06/29 PHP
php Session无效分析资料整理
2016/11/29 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
基于jQuery的消息提示插件之旅 DivAlert(三)
2010/04/01 Javascript
基于jquery的表头固定的若干方法
2011/01/27 Javascript
js通过googleAIP翻译PHP系统的语言配置的实现代码
2011/10/17 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
js密码强度校验
2015/11/10 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
无循环 JavaScript(map、reduce、filter和find)
2017/04/08 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
vue 内联样式style中的background用法说明
2020/08/05 Javascript
js实现菜单跳转效果
2020/12/11 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
python的json包位置及用法总结
2020/06/21 Python
如何实现一个自定义类的序列化
2012/05/22 面试题
应届生会计求职信
2013/11/11 职场文书
千元咖啡店的创业计划书范文
2013/12/29 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python
python区块链实现简版工作量证明
2022/05/25 Python