杰克逊双向映射

时间:2012-10-22 17:13:24

标签: java json jackson

我在父母和它的孩子之间有一个单向双向关系,2个jsp页面显示数据。对于父页面,它显示父项和基础子项。在子页面中,它显示子项及其父项。所以我需要一个双向结构。

父页面:父对象 子页面:孩子到父母

我使用jackson并尝试使用@JsonBackReference,但这实际上跳过了单向关系。什么是正确的方法呢?我知道如果我只设置单向关系它可以工作。但是因为我使用jpa并且需要以两种方式加载数据。这意味着我加载它后必须减少一种方式。

1 个答案:

答案 0 :(得分:0)

看起来你想要(de)序列化循环图而不进入“无限循环”。

@JsonIdentityInfo注释相当不错,但我想它在JSP中不起作用:你可能正在用AJAX加载JSON数据而我认为JSON.parse()不支持对象引用。

或者您可以使用a custom serializer。据我所知,没有简单的方法可以让杰克逊了解序列化背景;可以使用Jackson Value Injection或在ThreadLocal中存储数据来实现这一目的。