YAML实践指南:3:YAML格式检查与转换

在这里插入图片描述
在上篇文章中以实际的例子介绍了YAML文件的格式和使用方法,但是由于都是文本编辑的方式,是否符合YAML的语法规范缺乏工具的检查,这篇文章介绍一下常见的方式。

方式1: IDE支持

很多插件支持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

方式2: 在线格式检查

在线格式检查工具 URL链接
yamllint http://www.yamllint.com/
validate-yaml https://onlineyamltools.com/validate-yaml

方式3: 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文件存在格式问题:

  • 问题1:person:后面缺一个空格
  • 问题2:message:前面使用的是Tab而不是空格

正确格式文件

  • 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进行检查,可以实时的检查结果,详细如下所示
YAML实践指南:3:YAML格式检查与转换_第1张图片
使用yamllint进行检查则需要点击go按钮
YAML实践指南:3:YAML格式检查与转换_第2张图片
之后则会出现如下信息
YAML实践指南:3:YAML格式检查与转换_第3张图片

结果转换

使用yamlint在使用中还会将结果进行转换,比如删除注释信息,将锚点和引用结果展开等,使用上述正确文件格式,使用yamllint转换之后结果如下所示
YAML实践指南:3:YAML格式检查与转换_第4张图片

格式转换

YAML格式与json等进行转换也有很多工具,如下以一款在线工具进行示例说明

  • URL:http://yaml-online-parser.appspot.com/

以YAML中锚点的上述使用yaml文件,转换为json格式的结果如下所示
YAML实践指南:3:YAML格式检查与转换_第5张图片

你可能感兴趣的:(#,YAML)