YAML 语法格式
YAML(YAML Ain’t Markup Language)是一种专门用于数据序列化的格式,常用于配置文件、数据交换等场景。它以其可读性和简洁性而受到开发者的青睐。YAML设计的目标是易于人类阅读和编写,并且易于与其他编程语言进行交互。下面是YAML语法的详细介绍
基本结构
数据类型 :YAML 支持标量(如字符串、整数、浮点数)、序列(列表)和映射(字典)三种基本数据类型。
缩进 :YAML 使用缩进表示结构层级关系,通常每个层级缩进两个或四个空格(禁止使用制表符)。
标量数据类型
标量(Scalars) 是单个的、不可分割的值。可以是字符串、整数或浮点数。标量可以是单行的值,也可以是多行的值
单行字符串 |
多行字符串可以使用字面量样式(|
)或折叠样式(>
):
字面量样式保留换行符 |
- 可以显式指定数据类型,例如字符串可以用单引号或双引号包围
- 字符串通常不需要引号,但如果含有特殊字符,则需要使用单引号或双引号。
true
,false
,null
等特定词汇表示布尔值和Null
。- 时间和日期需要遵循ISO格式。
列表(Sequences)
列表(Sequences) 是一组按顺序排列的值(类似于数组或列表),用破折号加空格表示新的元素,每个列表项占一行,也需要正确缩进。
列表 |
字典(Mappings)
映射/字典(Mappings) 是键值对的集合(类似于字典或哈希表),用冒号加空格表示键值对,键值对需要正确缩进
字典 |
嵌套结构
列表和字典可以嵌套使用,形成复杂的结构
嵌套的列表和字典 |
锚点和别名
YAML支持定义锚点(&
)和别名(*
)来重用(引用)文档中的某部分,使用 &
创建一个锚点(alias),之后可以用 *
引用这个锚点。
使用 <<
和 *
来合并已有(引用)的映射。
使用锚点和别名 |
注释
使用井号 #
开始一个注释,井号后面的内容将被视为注释,注释内容直到行尾。
多文档支持
一个 YAML 文件可以包含多个文档,每个文档用三个短横线 ---
分隔。
--- |