|
解决办法
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() +",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() +",config).toString()+"}"; out.print(tempStr);
您可能感兴趣的文章:- 使用Ajax或Easyui等框架时的Json-lib的处理方案
- json-lib将json格式的字符串,转化为java对象的实例
- Java 使用json-lib处理JSON详解及实例代码
- 将Java对象序列化成JSON和XML格式的实例
- java将XML文档转换成json格式数据的示例
- Java的微信开发中使用XML格式和JSON格式数据的示例
- 解决使用json-lib包实现xml转json时空值被转为空中括号的问题
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|