如何将YAML 1.1转换为YAML 1.2?

时间:2020-08-18 16:26:50

标签: yaml

我想将YAML 1.1文档提供给(很大程度上)符合YAML 1.2的解析器。如何转换输入,以便解析器正确解释输入?

CLI工具会很有帮助,或者有些代码可能会变成CLI工具。

1 个答案:

答案 0 :(得分:1)

这取决于是否更多有关YAML语法或Schema。也许您应该弄清楚到底有什么问题。 我会在这里猜的。

如果是关于语法的:我认为没有太多可以区分YAML 1.1和1.2语法的YAML处理器。 它们要么更旧并实现1.1,要么它们更新并为1.2编写。 不同版本之间在语法方面的差异不是很大,在现实世界中,在其中很重要的用例中可能没有那么多。


如果是关于模式的,您可能希望将yes转换为true

我最近启动了一个名为yaml-schema-convert的工具。你可以在这里找到它: https://github.com/perlpunk/yamlpp-tools

它可以为您进行转换。但是,它还不完整。例如,它无法识别时间戳。

它是用perl编写的,并且由于模块(YAML::PP)尚未在许多发行版中发布,因此您可能需要从CPAN安装它。

在debian上,这将是:

apt-get install cpanminus
cpanm YAML::PP
cpanm Getopt::Long::Descriptive
cd yamlpp-tools
perl bin/yamlpp-schema-convert < file.yaml

如果能得到反馈,我们将很高兴。