【发布时间】:2018-06-21 19:35:30
【问题描述】:
我有一对像
public class Obj1 {
public int id;
public String name;
public Obj2 obj2;
}
public class Obj2 {
public int id;
public String name;
public List<Obj1> obj1list;
}
我希望能够通过 Jackson 将其转换为 Json。我找到了JsonManagedReference 和JsonBackReference 并对其进行了注释,但是当您这样做时,序列化仅以一种方式起作用。它只会在带有JsonManagedReference 端的类被序列化时显示。
如果我序列化一个“Obj1”,我想查看附加到它的“Obj2”。如果我序列化“Obj2”,我想查看附加到它的“Obj1”列表。
我也尝试过像这样使用 JsonIdentityInfo 注释
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
这似乎可行,只是它将父对象的“id”值添加到子对象(或列表案例中的每个子对象)中,这有点奇怪。虽然我想我可以忍受它。
有没有办法让它按我的预期运行?
【问题讨论】:
-
您将两个类都命名为
Obj1,您可能打算将第二个类命名为Obj2 -
是的,对不起...我只是写了一个简化的例子