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写一个简单的异步分页插件
Mar 07 Javascript
JS中JSON对象和String之间的互转及处理技巧
Apr 06 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
Mar 30 Javascript
JS实现图片点击后出现模态框效果
May 03 Javascript
ztree简介_动力节点Java学院整理
Jul 19 Javascript
使用clipboard.js实现复制功能的示例代码
Oct 16 Javascript
在Vue项目中引入腾讯验证码服务的教程
Apr 03 Javascript
关于layui toolbar和template的结合使用方法
Sep 19 Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
Sep 19 Javascript
vue获取form表单的值示例
Oct 29 Javascript
js中addEventListener()与removeEventListener()用法案例分析
Mar 02 Javascript
介绍一下28个JS常用数组方法
May 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
虹吸壶煮咖啡26个注意事项
2021/03/03 冲泡冲煮
php程序之die调试法 快速解决错误
2009/09/17 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
jQuery插件 tabBox实现代码
2010/02/09 Javascript
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
JavaScript中按位“异或”运算符使用介绍
2014/03/14 Javascript
jquery插件推荐浏览器嗅探userAgent
2014/11/09 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
jQuery使用正则验证15/18身份证的方法示例
2017/04/27 jQuery
python分析apache访问日志脚本分享
2015/02/26 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
Python黑魔法Descriptor描述符的实例解析
2016/06/02 Python
使用Pyinstaller的最新踩坑实战记录
2017/11/08 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
2019/07/28 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
python中entry用法讲解
2020/12/04 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
CSS3实现多样的边框效果
2018/05/04 HTML / CSS
探究 canvas 绘图中撤销(undo)功能的实现方式详解
2018/05/17 HTML / CSS
Html5新标签datalist实现输入框与后台数据库数据的动态匹配
2017/05/18 HTML / CSS
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
成考报名单位证明范本
2014/01/16 职场文书
医院检讨书范文
2014/02/01 职场文书
群众路线批评与自我批评
2014/02/06 职场文书
大学生个人自荐信
2014/02/24 职场文书
公司会议开幕词
2015/01/29 职场文书
活动新闻稿范文
2015/07/17 职场文书
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android