一.YAML中语法
" - " 的理解:- 用于表示一个列表项,使用 - 符号时,它表示这是一个列表(数组)中的一个元素
示例1:简单列表
fruits:
- apple
- banana
- cherry
'fruits'是一个列表,其中包含三个元素 :apple
,banana
和 cherry
。
示例2:列表中的字典
people:
- name: John
age: 30
- name: Jane
age: 25
people
是一个列表,列表中的每个元素都是一个字典,字典中包含 name
和 age
键。
二.列表和字典是什么?
列表List: 可以理解为有序的购物或任务清单。在这个清单中,每一个项都有特定的位置,且顺序很重要。
字典Dictionary:可以理解像一本电话簿或联系人列表,在这个列表中每个人都有一个名字(键),对应着他们的电话号码(值)。顺序在字典中不重要,重要的是键和值的对应关系。
列表和字典的结合:在实际应用中,列表和字典通常结合使用。例如,一个班级的学生名单,其中每个学生有多个属性(如名字、年龄、成绩),可以表示为包含字典的列表:
students:
- name: 张三
age: 18
grade: A
- name: 李四
age: 19
grade: B
- name: 王五
age: 18
grade: A
在这个例子中,students
是一个列表,列表中的每一项都是一个字典,每个字典包含学生的 name
,age
和 grade
信息。
就是students是一个列表,这个列表包含 3 个字典元素,每个字典都包含三对键值对。
这里的结构可以通俗地理解为:
students
是一个列表(数组)。- 这个列表中有三个元素,每个元素都是一个字典。
- 每个字典都包含三个键值对,分别是
name
、age
和grade
。
疑惑:为什么列表中包含字典元素时候,只有字典第一个键值对使用符号 -,这是因为:当字典是列表中的一个元素时,需要用 - 来表示每一个字典元素,意思就是一个字典是一个整体,只需要在这个整体前面加 -,即可代表该字典是列表中的一个项。
三.字典项的缩进
通常每个层级使用两个空格进行缩进
person:
name: 张三
age: 18
address:
street: 中山路
city: 北京
在这个例子中:
- person 是顶层键 ,其值是一个字典,包含 name age address 三个键
- name 、 age 、address 的缩进是两个空格
- address 的 值是另一个字典,其中 street 、 city 的缩进是四个空格
顶层键怎么判断?
1.缩进级别:顶层键没有缩进(或所有顶层键具有相同的缩进级别),所有缩进的键都是顶层键的子键。
2.文件开始位置:文件中最早出现的飞缩进键通常是顶层键