缩进和分离

YAML – 缩进和分离

YAML(YAML Ain’t Markup Language)是一种面向人类的数据序列化格式,旨在成为一种比 XML 和 JSON 更易读、更容易编写的格式。与 XML 和 JSON 不同,YAML 不是一种标记语言,而是一种数据格式。它使用缩进和分离来表示数据结构,不需要使用额外的标记语言,这使得它更加容易看懂和编辑。

缩进

YAML 使用缩进来表示嵌套关系,它使用空格而不是制表符。缩进必须使用相同数量的空格,不能混合使用空格和制表符。例如,下面的例子是一个包含嵌套列表的 YAML 文档:

- name: Alice
  age: 25
  hobbies:
    - reading
    - hiking
- name: Bob
  age: 30
  hobbies:
    - cooking
    - swimming

在上面的例子中,每个列表项都由一个连字符开头,后面跟着一个空格。每行都有相同数量的缩进,子项的缩进比父项的缩进多两个空格,以此表示嵌套关系。

分离

YAML 使用分离来表示键和值之间的关系。冒号(:)用于分离键和值。在冒号后面必须跟着一个空格。例如,下面的例子是一个包含键值对的 YAML 文档:

name: Alice
age: 25
hobbies:
  - reading
  - hiking

在上面的例子中,每个键值对都由一个冒号分隔,并且键和值之间有一个空格。

多行文本

有时候一个文本值比较长,需要占据多行,YAML 提供了三种方式来表示多行文本:折叠块,字面块和引用块。

折叠块

当一个文本值跨越多行,但是中间没有空行时,可以使用折叠块来表示这个文本。折叠块会将多行文本合并为一行,并删除行末的换行符和空格。在 YAML 中,折叠块使用一个垂直条(|)进行表示。例如:

description: |
  This is a long description
  that spans multiple lines.
  It will be folded into a
  single line.

字面块

字面块会原样输出多行文本,包括换行符和空格。在 YAML 中,字面块使用两个垂直条(||)进行表示。例如:

message: ||
  This is a long message
  that spans multiple lines.
  It will be output as
  multiple lines.

引用块

引用块将多行文本存储到一个独立的文件中,并在 YAML 中引用该文件。引用块使用一个小于号(<)进行表示。例如:

data: 
  < multi_line_data.txt

在上面的例子中,数据将从 multi_line_data.txt 文件中读取。

最后更新于