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