yaml格式配置文件

YAML is a human-friendly data serialization language for all programming languages.

YAML 是一种数据序列化语言,通常用于编写配置文件。业界对 YAML 有不同的看法,有人会说 YAML 不过代表了另一种标记语言,另外一些人认为”YAML ain’t markup language”( “YAML 不是标记语言”),”YAML” 正是这句话的递归缩写,强调了 YAML 是用于数据而不是文档。

yaml 是一种常用到的配置文件格式,网站:https://yaml.org/

YAML 拥有 Perl、C、XML、HTML 和其他编程语言的特性。YAML 也是 JSON 的超集,所以 JSON 文件在 YAML 中有效。

用途

YAML 最常见的用途之一是创建配置文件。相比 JSON,因为 YAML 有更好的可读性,对用户更友好,所以通常建议用 YAML 来编写配置文件,尽管它们在大多数情况下可以互换使用。

语法格式

YAML 使用 Python 风格的缩进来表示嵌套。它不能使用 Tab(制表符),因而使用空格来代替。没有通常的格式符号,如大括号、方括号、结束标记或引号。YAML 文件使用 .yml 或. yaml 扩展名。

注意点:

  • 大小写敏感
  • 通过缩进表示层级关系
  • 禁止使用tab缩进,只能使用空格键 (切记
  • 缩进的空格数目不重要,只要相同层级左对齐即可
  • 使用#表示注释

数据类型:

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值

List

1
2
3
4
5
6
---
# A list of tasty fruits 一个列表
- Apple
- Orange
- Strawberry
- Mango

解析结果: [‘Apple’,’Orange’,’Strawberry’,’Mango’]

List Wrap

1
2
3
4
5
6
7
8
---
- Flour
- Water
- Salt
- Sugar:
- caster
- granulated
- icing

解析结果:

1
["Flour", "Water", "Salt", { "Sugar" :["caster", "granulated" , "icing"] }] 

JSON

1
2
3
4
5
# An employee record
martin:
name: Martin D'vloper
job: Developer
skill: Elite

解析结果:{ "martin": {"name":" Martin D'vloper", "job": "Developer", "skill": "Elite"} }

JSON + List

1
2
3
4
5
6
7
8
Animals:
Dog:
- small tiger
- small hua
Cat:
- small mimi
- small dudu

解析结果:

1
2
3
4
5
6
7
{
"Animals": {
"Dog": ["small tiger", "small hua"],
"Cat": ["small mimi", "small dudu"]
}
}

作者

Fat Dong

发布于

2022-03-11

更新于

2022-03-16

许可协议