手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >json-lib出现There is a cycle in the hierarchy解决办法
json-lib出现There is a cycle in the hierarchy解决办法
摘要:解决办法1.设置JSON-LIB让其过滤掉引起循环的字段。Java代码复制代码代码如下:JsonConfigconfig=newJsonCo...

解决办法

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);

【json-lib出现There is a cycle in the hierarchy解决办法】相关文章:

让插入到 innerHTML 中的 script 跑起来的实现代码

js+HTML5实现canvas多种颜色渐变效果的方法

JavaScript实现DIV层拖动及动态增加新层的方法

详解Javascript中的Object对象

jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法

JavaScript操作Cookie方法实例分析

javascript实现Table排序的方法

JavaScript中用toString()方法返回时间为字符串

浅谈jQuery中replace()方法

Javascript实现的SHA-256加密算法完整实例

精品推荐
分类导航