我正在考虑将自定义构造与 SnakeYAML 一起使用,但不确定如何实现嵌套。我使用这个例子作为参考。
在链接的示例中,相关的 YAML 和 Construct 是,
- !circle
center: {x: 73, y: 129}
radius: 7
private class ConstructCircle extends AbstractConstruct {
@SuppressWarnings("unchecked")
public Object construct(Node node) {
MappingNode mnode = (MappingNode) node;
Map<Object, Object> values = constructMapping(mnode);
Circle circle = new Circle((Map<String, Integer>) values.get("center"), (Integer) values.get("radius"));
return circle;
}
}
现在,让我们将 YAML 更改为,
- !circle
center: !point
x: 73
y: 129
radius: 7
我想用另一个AbstractConstruct
来解析那个!point
对象,但是在ConstructCircle
上下文中做。我对这种Construct/Node
关系的理解非常不稳定,我不知道如何在自定义构造函数中使用自定义构造函数。有什么想法或资源吗?