`
yongtree
  • 浏览: 230661 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

解决json-lib-1.5.jar处理存在级联关系的pojo的json数据生成的问题

    博客分类:
  • RIA
阅读更多

使用json-lib-1.5.jar来处理java和json的转换的确给我们带来了不少的方便,但是在处理存在级联关系的pojo时,使用fromObject时就会报:net.sf.json.JSONException: There is a cycle in the hierarchy!,使得生成json掉入了级联的循环陷阱中,但是pojo肯定会存在级联关系,怎么解决这个问题呢?

当然你可以拼写字符串,也可以使用map,但是仍然不是非常方便,需要一个个的处理属性。其实json.jar给我们提供了一个相关的处理来应对这样的情况,就是通过JSON的配置类JsonConfig。如下代码所示:

JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
String[] excludes = { "poNewsArticle", "class" };
jsonConfig.setExcludes(excludes);
PoNewsComment c=newsService.getCommentById(id);
JSONObject jsonObject = JSONObject.fromObject(c);
System.out.println(jsonObject.toString());

 

PoNewsComment.java

public class PoNewsComment implements java.io.Serializable {

	// Fields

	private Integer commentId;
	private PoNewsArticle poNewsArticle;//关联的新闻的pojo
	private String comment;
	private String commenter;
	private Date commentTime;
	private short commentStatus;
	private String commenterIp;
//省略set、get方法
}

 其实其他的情况都可以使用JsonConfig来处理,包括时间转换,数据类型的转换等等。下一篇将介绍一个操作json的通用工具类。

 

分享到:
评论

相关推荐

    json-rpc-for-java

    继《JavaScript高级应用与实践》之后推出的json-rpc-for-java开源代码,是仅仅100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持...

    opencv-3.2.0-vc14.exe

    识别处理图像中人脸,人体是图像识别的一个重要分支,在很多场合都需要对人进行查找和处理,在拍照,自动驾驶,机器人,医学,安防等上都有广泛 的用途。opencv 有众多的级联分类器,可以进行简单的人脸,眼,鼻子,...

    MybatisX-idea.0.1.0.jar

    ResultMap中的property支持自动补全,支持级联(属性A.属性B.属性C) 快捷键生成@Param注解 XML中编辑SQL时, 括号自动补全 XML中编辑SQL时, 支持参数自动补全(基于@Param注解识别参数) 自动检查Mapper XML...

    JQuery + Servlet +Json实现下拉框级联

    JSON JQuery + Servlet +Json实现下拉框级联 json-lib-2.4-jdk15.jar所依赖jar的整理整理

    Json-RPC for java中文手册

    json-rpc-for-java,是仅仅不到100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持级联调用,也就是说不需要额外 的JavaScript?...

    电子-STM32定时器级联.pdf

    电子-STM32定时器级联.pdf,单片机/嵌入式STM32-F0/F1/F2

    网络电子教案7-1+交换机级联.pdf

    网络电子教案7-1+交换机级联.pdf

    网络电子教案7-1+交换机级联.doc

    网络电子教案7-1+交换机级联.doc

    Excel表格+Word文档各类各行业模板-建立复杂级联菜单.zip

    Excel表格+Word文档各类各行业模板-建立复杂级联菜单.zip

    华为RRU级联问题.docx

    华为RRU级联问题.docx华为RRU级联问题.docx华为RRU级联问题.docx华为RRU级联问题.docx华为RRU级联问题.docx华为RRU级联问题.docx华为RRU级联问题.docx华为RRU级联问题.docx

    JQuery实例-年月日级联菜单.rar )

    JQuery实例-年月日级联菜单.rar

    Json-RPC for java Example

    json-rpc-for-java,是仅仅不到100行的javascript代码和不到10个java文件实现的超级轻量级的通过 javaScript快速调用java对象并返回任意对象的轻量级框架,并且支持级联调用,也就是说不需要额外 的JavaScript编程,...

    智能电网级联故障建模matlab源码+项目说明.zip

    智能电网级联故障建模matlab源码+项目说明.zip智能电网级联故障建模matlab源码+项目说明.zip智能电网级联故障建模matlab源码+项目说明.zip智能电网级联故障建模matlab源码+项目说明.zip智能电网级联故障建模matlab...

    华为RRU级联问题.pdf

    华为RRU级联问题.pdf华为RRU级联问题.pdf华为RRU级联问题.pdf华为RRU级联问题.pdf华为RRU级联问题.pdf华为RRU级联问题.pdf华为RRU级联问题.pdf华为RRU级联问题.pdf

    Spectrum Microwave Cascade7.0-RF级联频谱分析.rar

    Spectrum Microwave Cascade7.0-RF级联频谱分析,适用于级联系统指标计算,包括但不限于NF、OIP3、输出频谱以及杂散分析

    全国省-市-区县-街道-居委会级联关系

    全国省-市-区县-街道-居委会级联关系,不保证完整,注意上传时间,使用sqlite保存,请自己手动json导出

    layui-级联-多选下拉框.rar

    layui的插件效果,优化基础layui的原装组件的效果。 layui 是一款采用自身模块规范...其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从核心代码到 API 的每一处细节都经过精心雕琢,非常适合界面的快速开发。

    MybatisX-idea.0.1.0.jarMapper找到XML

    ResultMap中的property支持自动补全,支持级联(属性A.属性B.属性C) 快捷键生成@Param注解 XML中编辑SQL时, 括号自动补全 XML中编辑SQL时, 支持参数自动补全(基于@Param注解识别参数) 自动检查Mapper XML...

    hibernate many-to-many级联保存,级联更新,级联删除

    hibernate many-to-many级联保存,级联更新,级联删除

    74HC595 级联-时钟偏移问题.pdf

    74HC595 级联应用中的注意问题,时钟偏移问题

Global site tag (gtag.js) - Google Analytics