我有一个这样的 JSON 对象树:
{
"name": "parent",
"children": [
{
"name":"child",
"value":5
}
]
}
在 Java 中,父类有一个标记为子类的列表,@JsonManagedReference
子类有一个对应的@JsonBackReference
. 我的问题是value
属性的 setter 方法取决于父级。可悲的是,在我所有的实验中,反向引用都是最后解决的,因此在设置值时子对象中的父字段仍然为空。有没有办法改变这个反序列化顺序?或者有没有另一种方法可以优雅地解决这个问题而不引入不必要的字段。
public class Parent {
@JsonManagedReference
private List<Child> children;
private String name;
//getter/setter
public int doStuff(int input) {
return 0; //complex calculations here
}
}
public class Child{
@JsonBackReference
private Parent parent;
private String name;
private int value;
//getter/setter
public void setValue(int v) {
this.value = getParent().doStuff(v);
}
}