上次写到YAML的语法格式,要提一句的是YAML包含了JSON,JSON支持的YAML都支持。
YAML其实是纯文本文件,后缀名是yaml或yml。
YAML文库开头是“---”,三个横杠代表YAML文件开始,前面没有空格。
比如大家都会举的一个例子,Jack一家4口为例,用JSON写出来是这样的:
{"name":"Jack","age":40,"spouse":{"name":"Joy","age":35"},"children":[{"name":"Jimmy","age":14},{"name":"Lily","age":11}]}
而用YAML格式,则是这样的:
---
name: Jack
age: 40
spouse:
name: Joy
age: 35
children:
- name: Jimmy
age: 14
- name: Lily
age: 12
那么常用的列表和字典,怎么在YAML里表现呢?
如: Python 数字列表 [1,2,3,4]
写成YAML就是:
---
- 1
- 2
- 3
- 4
Python 字符列表 ["a","b","c","d"]
写成YAML:
---
- a
- b
- c
- d
列表总结:
列表的每个元素以“-”开头; 每个元素和“-”之间要有空格;Python/JSON里的引号都不需要;
嵌套的列表,[1,[2.1,2.2],[3.1,3.2,[3.31,3.32]],[4.1]]
写成YAML(关键是缩进)
---
- 1
- - 2.1
2.2
- - 3.1
- 3.2
- - 3.31
- 3.32
- - 4.1
字典呢,Python字典: {"a":"a1","b":"b1","c":"c1","d","d1"}
写成YAML,就是
---
a: a1
b: b1
c: c1
d: d1
跟列表不同,列表用“-”表示一个列表的开始,而字典仅使用冒号和空格。