我想将YAML 1.1文档提供给(很大程度上)符合YAML 1.2的解析器。如何转换输入,以便解析器正确解释输入?
CLI工具会很有帮助,或者有些代码可能会变成CLI工具。
答案 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
如果能得到反馈,我们将很高兴。