什么是YAML?
YAML(YAML Ain’t Markup Language)是一种人类可读的数据序列化标准,用于配置文件和数据交换。它比JSON和XML更简洁,且更加直观,特别适合用来写配置文件。YAML文件的后缀通常为 .yaml
或 .yml
。
YAML的基本语法规则
键值对:
- YAML 使用冒号和空格分隔键和值。
1
2name: John Doe
age: 30
- YAML 使用冒号和空格分隔键和值。
缩进:
- 缩进表示层次结构。通常使用空格(而不是制表符)来缩进。
1
2
3person:
name: John Doe
age: 30
- 缩进表示层次结构。通常使用空格(而不是制表符)来缩进。
列表:
- 列表项用破折号和一个空格开头。
1
2
3
4hobbies:
- reading
- swimming
- coding
- 列表项用破折号和一个空格开头。
嵌套结构:
- 键值对和列表可以嵌套。
1
2
3
4
5
6
7person:
name: John Doe
age: 30
hobbies:
- reading
- swimming
- coding
- 键值对和列表可以嵌套。
多行字符串:
- 使用
|
表示保留换行的多行字符串,使用>
表示折叠换行的多行字符串。1
2
3
4
5
6description: |
This is a description
that spans multiple lines.
folded: >
This is a folded
multi-line string.
- 使用
YAML的优点
- 可读性高:YAML设计的目标之一就是可读性,特别适合用作配置文件。
- 支持多种数据结构:YAML支持基本的标量(如字符串、整数、浮点数)、列表和字典(映射)等复杂数据结构。
- 语言无关:YAML的语法与编程语言无关,因此可以在多种编程语言中使用。
示例
一个复杂的YAML示例如下:
1 | server: |
这个YAML文件描述了一个服务器配置,其中包括服务器信息、数据库连接信息、特性开关和日志设置。
常见用途
- 配置文件:许多应用程序和框架(如Docker、Kubernetes、Ansible等)使用YAML来定义配置。
- 数据序列化:YAML可以用于在不同系统之间序列化和反序列化数据。
- 文件格式定义:一些数据文件格式也采用YAML,如Swagger/OpenAPI规范文件。
总之,YAML 是一种简单且强大的数据表示格式,非常适合用于配置文件和数据序列化场景。