在软件开发中,我们经常用用到配置文件,配置文件中包含如数据库,账号,密码,等等
而YAML特别适合用来表达或编辑数据结构、各种配置文件。YAML更适合来管理数据
YAML 文件格式如: test.yml 、 data.yml
YAML语法非常简单容记,使用缩进的方式如python,但是禁止使用Tab键
YAML的语法要点:
- 大小写敏感
- 使用缩进表示层级关系
- 缩进时不允许使用Tab键,只允许使用空格。
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
YAML支持的数据类型:
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值(如:字符串、bool值、整数、浮点数、时间、日期、null等)
None值可用null可 ~ 表示
YAML中的对象:
YMAL中的对象是一组键值对,key: value 的形式, 每一个key 对应着一个value , 采用冒号分开,冒号后面需要添加一个空格
如:
key: value
name: alex
#复杂形式
key:
key1: value
key2: value2
# 一行形式
key: {name: 'alex', age: 13}
YMAL 中的数组:
YMAL以 - 开头的行表示构成一个数组:
#表示数组[A, B, C, D]
- A
- B
- C
- D
#子元素是一个数组的形式[[1,2,3,4]]
-
- 1
- 2
- 3
- 4
当然也可以用更简便的方法,一行搞定
digit: [1,2,3,4,5]
YAML 元素的嵌套使用
languages:
- Ruby
- Perl
- Python
websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org
Perl: use.perl.org
对应json中的格式
{
languages: [ 'Ruby', 'Perl', 'Python'],
websites: {
YAML: 'yaml.org',
Ruby: 'ruby-lang.org',
Python: 'python.org',
Perl: 'use.perl.org'
}
}