微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

There is a cycle in the hierarchy! 问题解决

在做Hibernate 映射对象转换json 的时候,常常会遇到如下异常:

net.sf.json.JSONException: There is a cycle in the hierarchy!
	at net.sf.json.util.CycleDetectionStrategy$StrictCycleDetectionStrategy.handleRepeatedReferenceAsObject(CycleDetectionStrategy.java:97)
	at net.sf.json.JSONObject._fromBean(JSONObject.java:859)
	at net.sf.json.JSONObject.fromObject(JSONObject.java:194)
	at net.sf.json.JSONObject._processValue(JSONObject.java:2793)
	at net.sf.json.JSONObject._setInternal(JSONObject.java:2817)
	at net.sf.json.JSONObject.setValue(JSONObject.java:1527)
	at net.sf.json.JSONObject._fromBean(JSONObject.java:946)
	at net.sf.json.JSONObject.fromObject(JSONObject.java:194)

解决方法

JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); // 自动为我排除circle。

jsonConfig.setExcludes(new String[] { "user" }); // 设置转换中忽略的属性

JSONArray.fromObject(sourceList,jsonConfig)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐