yaml
- 一个数据序列化的标准,适用于所有开发语言,最大的特点是可读性好。
- 一个主要应用方向就是编写配置文件,有非常多的系统和框架采用yaml进行配置。
yaml基本规则
- 区分大小写
- 使用缩进表示层级关系;
- 禁止使用tab缩进,只能使用空格键;
- 缩进长度没有限制,只要元素对奇就表示该部分元素属于一个层级;
- 使用#表示注释;
- 字符串可以不用引号标注
三种数据结构
1. map,散列表
使用冒号:表示键值对,同一缩进的所有键值对属于一个map #yaml表示 age:12 name:aa #对应的Json表示 {'age':12,'name':'aa'}
2. list,数组
使用连接符(-)表示: #yaml表示: -a -b -1 #对应的Json表示: ['a','b',1] #也可以写在一行 [a,b,c] #对应Json表示 ['a','b','c']
3. scalar,纯量
数据最小的单位,不可以再分割
数据结构嵌套
- map嵌套map
#yaml表示 websites: YAML:yaml.org Ruby:ruby-lang.org Python:python.org Perl:use.perl.org #对应的Json表示 {websites: {YAML:'yaml.org', Ruby:'ruby-lang.org', Python:'python.org', Perl:'use.perl.org' } }
- map嵌套list
#YAML表示 languages: - ruby - perl - python - c #对应Json表示 {language:['ruby','perl','python','c']}
- list嵌套list
方法一: #YAML表示 - - ruby - perl - python - - c - c++ - java #对应Json表示 [['ruby','perl','python'],['c','c++','java']] 方法二: -- ruby - perl - python -- c - c++ - java 方法三: - [ruby,perl,python] - [c,c++,java]
- list嵌套map
#YAML表示 - id:1 name:a - id:2 name:b #对应Json表示 [{id:1,name:'a'},{id:2,name:'b'}]