YAML – 块序列
在 YAML 中,块序列是一种多行列表。块序列可以包含任何类型的数据,如整数、字符串、布尔值等等。这些数据按照它们在块序列中的排列顺序进行排列,且每个元素都是用破折号(-)表示的。
例如,下面是一个块序列的例子:
- John Doe
- Jane Doe
- Mark Johnson
这是一个简单的字符串序列,其中每个元素都表示一个人。
YAML 块序列的语法
YAML 块序列采用明确的缩进格式来表示元素之间的关系。每个元素必须有一个独立的行,并且在破折号后面必须至少有一个空格,以表示该元素的起始。
下面是块序列的语法格式:
- item1
- item2
- item3
其中,“-”表示元素的起始,紧随其后的是该元素的值,可以是任何 YAML 支持的数据类型,如字符串、数字、列表、映射等等。
如果您需要将多个元素放在一起,可以使用缩进。元素的缩进必须与前一个元素的缩进相同,以便 YAML 块序列能够正确解析。
例如:
- John Doe
- Doe John
- John Johnson
- Jane Doe
- Doe Jane
- Jane Johnson
注意,第二行和第五行中的缩进是相同的,这样 YAML 解析器才能知道哪些元素属于哪个父元素。
嵌套块序列
YAML 允许您在块序列中嵌套块序列。要创建一个嵌套块序列,只需在父序列的元素中添加子序列的元素即可。
例如:
- name: John Doe
age: 40
cars:
- Ford
- BMW
- name: Jane Doe
age: 35
cars:
- Honda
- Toyota
注意,子序列在父序列元素下方的缩进级别必须比父序列元素高一个级别。
支持 YAML 块序列的编程语言
大多数编程语言都支持 YAML 的解析和生成。下面是一些常见的编程语言及其支持的 YAML 库:
以下是 Python 代码示例,可以使用 PyYAML 读取 YAML 数据:
import yaml
# 将 YAML 数据加载到 Python 对象中
data = yaml.safe_load("""
- John Doe
- Jane Doe
- Mark Johnson
""")
# 输出 Python 对象
print(data)
这将输出以下内容:
['John Doe', 'Jane Doe', 'Mark Johnson']
结论
通过块序列,YAML 可以轻松表示复杂数据结构,如列表和字典等。对于需要将结构化数据序列化为文本格式并进行传输或存储的应用程序,YAML 块序列非常有用。各种编程中也提供了对 YAML 的支持,方便使用者使用。