在上篇文章中以实际的例子介绍了YAML文件的格式和使用方法,但是由于都是文本编辑的方式,是否符合YAML的语法规范缺乏工具的检查,这篇文章介绍一下常见的方式。
很多插件支持YAML文件格式的检查,比如
IDE | yaml插件 | URL链接 |
---|---|---|
Eclipse | yaml-editor | https://marketplace.eclipse.org/content/yaml-editor |
IEDA | Style. YAML | https://www.jetbrains.com/help/idea/code-style-yaml.html |
在线格式检查工具 | URL链接 |
---|---|
yamllint | http://www.yamllint.com/ |
validate-yaml | https://onlineyamltools.com/validate-yaml |
使用其他语言的yaml模块加载yaml文件,一般也会判断出yaml格式中不符合标准的地方。但是这种方式也有可能会有对标准的yaml格式有所增强的功能。以python为例,可以使用 yaml模块的load方法进行格式的确认。
这里使用前文的两个YAML文件,用于检查格式信息
liumiaocn:yaml liumiao$ cat demo/errorformat.yml
---
# without space behind person:
person:{name: Liumiaocn, id: 1001}
greetings:
# use tab rather than space
message: Hello
...
liumiaocn:yaml liumiao$
上述YAML文件存在格式问题:
liumiaocn:yaml liumiao$ cat demo/anchors.yml
---
defaultgreeting: &defaultgreetingref
name: &nameref Liumiaocn
message: Hello
# override message column
welcomegreeting:
<<: *defaultgreetingref
message: Welcome
# add new column
newgreeting:
newname: *nameref
newmessage: New Message Information
...
liumiaocn:yaml liumiao$
使用validate-yaml进行检查,可以实时的检查结果,详细如下所示
使用yamllint进行检查则需要点击go按钮
之后则会出现如下信息
使用yamlint在使用中还会将结果进行转换,比如删除注释信息,将锚点和引用结果展开等,使用上述正确文件格式,使用yamllint转换之后结果如下所示
YAML格式与json等进行转换也有很多工具,如下以一款在线工具进行示例说明