YAML格式介绍
YAML 专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便
一:语法规则
1:大小写敏感。
2:使用缩进表示层级关系。
3:缩进时 不允许 使用Tab键,只允许使用空格。
4:缩进的空格数目不重要,只要相同层级的元素左侧对齐即可。
“#”表示注释,从这个字符一直到行尾,都会被解析器忽略
二:数据结构
YAML 支持三种数据结构:对象、数组和纯量
1:对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
2:数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
3:纯量(scalars):单个的、不可再分的值
###1:对象
简单对象
foo: whatever
bar: stuff
复杂对象
foo: whatever
bar:
-
fruit: apple
name: steve
sport: baseball
- more
-
python: rocks
perl: papers
ruby: scissorses
转换为 javascript 代码后
{ foo: 'whatever',
bar:
[ { fruit: 'apple', name: 'steve', sport: 'baseball' },
'more',
{ python: 'rocks', perl: 'papers', ruby: 'scissorses' } ] }
2:数组
- Cat
- Dog
- Goldfish
3:纯量
纯量是最基本的、不可再分的值。
- 字符串
- 布尔值
- 整数
- 浮点数
- Null
- 时间
- 日期
字符串
str: 这是一行字符串
如果字符串之中包含空格或特殊字符,需要放在引号之中
str: '内容: 字符串'
多行字符串可以使用 | 保留换行符,也可以使用 > 折叠换行。
this: |
Foo
Bar
that: >
Foo
Bar
转换为 javascript 代码:
{ this: 'Foo\nBar\n', that: 'Foo Bar\n' }
空值
YAML有几种空值的表现方式,分别是 “null”、”~” 和 不填
a: null
b: ~
c:
最后得出数据
{a: null, b: null, c: null}
工具
1:YAML 和 Properties 格式互转工具