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 select选中的一个小问题
Oct 11 Javascript
JavaScript中URL编码函数代码
Jan 11 Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
Apr 08 Javascript
浅析JS刷新框架中的其他页面 && JS刷新窗口方法汇总
Jul 08 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
Oct 17 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
Jun 17 Javascript
jQuery AJAX timeout 超时问题详解
Jun 21 Javascript
利用Angular.js限制textarea输入的字数
Oct 20 Javascript
jquery请求servlet实现ajax异步请求的示例
Jun 03 jQuery
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
Feb 21 Javascript
el-select 下拉框多选实现全选的实现
Aug 02 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 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设计模式 Composite (组合模式)
2011/06/26 PHP
PHP四大安全策略
2014/03/12 PHP
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
php 变量引用与变量销毁机制详细介绍
2016/12/05 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
微信小程序中的swiper组件详解
2017/04/14 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
使用webpack将ES6转化ES5的实现方法
2019/10/13 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
python命令行参数解析OptionParser类用法实例
2014/10/09 Python
Python通用循环的构造方法实例分析
2018/12/19 Python
Python深拷贝与浅拷贝用法实例分析
2019/05/05 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
Python识别html主要文本框过程解析
2020/02/18 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
Python对excel的基本操作方法
2021/02/18 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
教师师德演讲稿
2014/05/06 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
贸易经济专业自荐书
2014/06/29 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
关于召开会议的通知
2015/04/15 职场文书
第一书记观后感
2015/06/08 职场文书