我有一个由另外两个对象引用的对象
我使用Jackson来序列化我的对象,但发现我的共享对象是重复的而不是引用。
原因是据我所知,杰克逊只能按价值而非参考序列化。
我没有成功地寻找一些推荐的解决方案。
感谢任何和所有帮助。
目前Jackson Lib 1.8.3
答案 0 :(得分:7)
好时光过去了,杰克逊2.0出局了。这是要求的功能!我回答这个,所以像我这样的人知道它可用
https://github.com/FasterXML/jackson-docs/wiki/Presentation-Jackson-2.0
答案 1 :(得分:5)
目前(1.9)你必须编写自定义序列化器,解串器来处理这个问题。处理对象标识没有开箱即用的支持。
在Java框架中,我所知道的唯一支持对象标识的是XStream。
对于它的价值,杰克逊有一个长期的feature request来增加支持。并且这有可能在2.0中得到解决。但即使它会,它也需要一段时间(一两个月)。
UPDATE
(2013年4月):根据其他已接受的答案,此功能 - @JsonIdentityInfo
- 确实包含在Jackson 2.0中,并且可用。无需自定义(反)序列化器。