具有父子指针的JAXB

时间:2018-07-18 06:58:45

标签: java json jaxb json-deserialization

使用JAXB可以很容易地从json对父子结构进行反序列化。但是想象一下,树应该有一个父对象的对象引用。您将如何创建它?

示例:

@XmlRootElement public Node {
  @XmlElement String text;
  @XmlElement List<Node> children;
  @XmlTransient Node parent;
}

这将创建一个漂亮的嵌套Json,形式为

{节点:{text:“ parent”,孩子:[{text:“ onechild”}]}

但是如何获取节点父级字段集? 我发现的唯一方法是添加一个afterSerialization()方法来遍历树并设置父字段。

afterSerialization() {
  for (Node child : children) {
    child.parent = this;
    child.afterSerialization();
  }
}

首选方式是使用

形式的Node构造函数
public Node(Node child) {
  this.parent = child;
}

但是该构造函数不能与JAXB一起使用。 我是否缺少功能?或者afterSerialization()是唯一选择吗?

预先感谢

0 个答案:

没有答案