Как установить корневую конструкцию для SnakeYaml?
Я хотел бы создать конструкцию, которая будет включена по умолчанию, и поэтому я смогу извлечь некоторые метаданные и удалить их из проанализированного YAML.
Например, я мог бы иметь конструкцию, чтобы сделать это, но в SnakeYAML, чтобы зарегистрировать конструкцию, нужно указать для нее строку, означающую, что она должна иметь имя. Однако, я не хочу этого, но вместо этого я хочу, чтобы мой тег был корневым, по умолчанию, который всегда включается, так сказать.
Есть ли возможность сделать что-то подобное?
Ура,
1 ответ
Я на самом деле нашел ответ, есть свойство в org.yaml.snakeyaml.constructor.BaseConstructor#rootTag
какой из них может установить тег как:
super.rootTag = new Tag("!root");
Все остальное просто, потому что нужно только зарегистрировать эту конструкцию для org.yaml.snakeyaml.constructor.BaseConstructor#yamlConstructors
и вы сделали. Ваша конструкция будет срабатывать при всех попытках чтения.
Надеюсь, что это помогает кому-то,
Ура,