「YAML」- YAML Ain’t Markup Language(学习笔记)

  CREATED BY JENKINSBOT

语法基础知识

注释行

使用井号(#)注释行;支持单行注释,不支持多行注释。

文档开始符

---

数组

- elementl
- element2
- element3

字典、复杂字典

# 简单字典
key: value

# 复杂字典
martin:
  name: Martin Developer
  job: Developer
  skill: Elite

数组与字典嵌套

- martin:
    name: Martin D’ vloper
    job: Developer
    skills:
      - python
      - perl
      - pascal
- tabitha:
    name: Tabitha Bitumen
    job: Developer
    skills:
      - lisp
      - fortran
      - erlang

注意事项

1)如果在值中包含冒号(:),需要使用引号:foo: "bar: example"
2)如果值以花括号({)开始,需要使用引号:foo: "{barexample}"

常用工具

yamllint – A linter for YAML files

该工具用于检查YAML文件的格式是否正确,对YAML进行校验。

执行如下命令即可安装该工具:

# CentOS:
yum install yamllint.noarch

# Debian
apt-get install yamllint

简单的使用示例:

yamllint /path/to/foo.yml

其他内容可以 查看GitHub项目主页查看命令手册

yq (GitHub/kislyuk/yq) ⇒ Python

项目地址:kislyuk/yq: Command-line YAML and XML processor – jq wrapper for YAML/XML documents
官方文档:https://kislyuk.github.io/yq/

YAML ⇒ JSON,用于将 YAML 转为 JSON 的工具。该工具是 jq 的封装,所以需要先安装 jq 命令

安装 yq 命令:
1)安装 jq 命令:jq
2)安装 yq 命令:

pip3 install yq

yq (GitHub/mikefarah/yq) ⇒ Go

项目地址:mikefarah/yq: yq is a portable command-line YAML processor

YAML ⇒ JSON,用于将 YAML 转为 JSON 的工具,由 Go 语言开发。

我们没有使用该命令,这里仅作记录。

参考文献

YAML – Wikipedia
YAML快速入门
YAML Ain’t Markup Language (YAML™) Version 1.2 3rd Edition, Patched at 2009-10-01
JS-YAML在线示例:http://nodeca.github.io/js-yaml
How do you do block comments in YAML?