有关于Gson“循环参考”的解决方案吗?

我找到了许多关于Gson循环引用的文章,但我找不到一个优雅的解决方案。

据我所知,一些解决方案是:

  • 将导致循环引用的属性设置为“瞬态”。
  • 使用某些注释排除该属性。

但作为一般性问题,是否有一些解决问题的共同策略?

据我所知,Gson中没有循环引用的自动化解决方案。 我所知道的唯一一个自动处理循环引用的JSON生成库是XStream (带有Jettison后端)。

编辑:jackson还支持使用@JsonIdentityInfo注释处理循环引用; 因此,虽然不是自动的(您需要标记需要对象ID处理的引用),但它确实允许解决大多数情况。

据我所知,最新的Gson版本已经解决了机械损伤问题。