使用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()是唯一选择吗?
预先感谢