YAML(YAML Ain’t Markup Language)是一种轻量级的文本格式,常用于配置文件和数据序列化。与 XML 和 JSON 等其他数据格式相比,YAML 更加人类可读,具有简洁的语法和结构。它在许多应用领域中广泛用于配置文件、数据交换以及用于配置容器编排、持续集成等工具中。
以下是 YAML 的一些常用语法:
-
基本数据结构: YAML 支持多种基本数据结构,包括字符串、数字、布尔值和 null。
name: John Doe age: 30 is_student: false description: null
-
键值对: 使用冒号来表示键值对,键和值之间用空格分隔。
person: name: Alice age: 25
-
列表: 使用短横线表示列表项,每个列表项位于一个新行,并缩进一个空格。
fruits: - apple - banana - orange
-
嵌套结构: YAML 支持嵌套结构,通过缩进来表示层级关系。
employee: name: Bob role: Developer projects: - Project A - Project B
-
注释: 使用井号
#
表示注释,注释位于一行的末尾或在行内。# This is a comment key: value # Inline comment
-
多行字符串: 使用
|
符号表示保留换行符的多行字符串,使用>
符号表示折叠多行字符串。multiline: | This is a multiline string. folded: > This is a folded string.
-
引用: 使用
&
符号创建一个锚点,使用*
符号引用锚点。anchors: - &item Item 1 - *item
-
特殊字符转义: 可以使用反斜杠
\
进行特殊字符的转义。message: "This is a \"quoted\" message."
-
字典、列表的缩写形式: 对于只包含字符串键的字典,以及只包含值的列表,可以使用缩写形式。
languages: [Python, Java, JavaScript] person: { name: Alice, age: 25 }
-
标量类型: YAML 支持标量类型,包括字符串、整数、浮点数、布尔值、日期等。
string: "Hello, YAML!" integer: 42 float: 3.14 boolean: true date: 2023-07-25