如何将Java对象图转换为JSON,其中图形具有循环依赖/循环?
答案 0 :(得分:7)
有许多开源库可以生成JSON。泽西岛可以打破循环依赖。对于其他人,您可能想要谷歌。
答案 1 :(得分:2)
注意:这个答案是很久以前写的。使用Gson,Jersey或Jackson。
我在上一个项目中使用了json-simple。它不会引入任何不需要的项目依赖项(例如apache-commons jar),并且足以正确解析/生成JSON。
您仍然需要自己管理循环引用。我真的怀疑是否有这样一个库来构建来处理这个问题。您可以通过添加到Set转换的任何对象,然后只是检查您要转换的对象是否在集合中来轻松完成此操作。
另外,我不认为json-simple会自动序列化一个对象;也就是说,您必须将要添加到JSON的数据提供给它。它只是为你处理所有混乱的格式。
答案 2 :(得分:0)
不确定循环依赖的含义,JSON无法表达引用。有很多开源JSON库检查链接http://x-stream.github.io/json-tutorial.html以将java对象转换为JSON
答案 3 :(得分:0)
如果您使用的是fastxml。有新的和看涨期权 @JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class,property =“@ id”)
只需确保您的fastxml版本适合该