如何为 SnakeYaml 设置根结构?

How to set root construct for SnakeYaml?

我想要一个将在默认情况下启动的构造,因此我将能够提取一些元数据并将其从已解析的 YAML 中删除。

例如,我可以有一个构造来执行此操作,但在 SnakeYAML 中注册一个构造必须为其指定一个字符串,这意味着它必须有一个名称。但是,我不想要那个,而是我希望我的标签是根标签,一个默认标签,可以这么说。

有没有可能做那样的事情?

干杯,

其实我自己找到了答案,有一个属性 在 org.yaml.snakeyaml.constructor.BaseConstructor#rootTag 可以设置如下标签:

super.rootTag = new Tag("!root");

剩下的很简单,因为只需将该构造注册到 org.yaml.snakeyaml.constructor.BaseConstructor#yamlConstructors 即可。您的构造将在所有读取尝试中被触发。

希望对某人有所帮助,

干杯,