我有一个像这样的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);
}
}