yml的表达能力非常强大,目前在配置文件中得到了广泛的应用。这里说一说其引用功能,这在json中都不太好实现,引用的出现可以进一步简化。
基本思路:先定义一个对象(拥有属性)或数组,并给它起一个名字。然后在文档中可以用“*对象名”进行引用。
1、对象引用的例子
定义对象:
CENTER: &CENTER
aaa: test is ok
(1)引用用方式1:引用值
huifeng:
bbb: *CENTER
等同JSON:
huifeng:
{ bbb: { aaa: 'test is ok' } }
(2)引用方式2:插入
huifeng:
<<: *CENTER
等同JSON:
huifeng:
{ bbb: { aaa: 'test is ok' } }
2、数组的引用
定义一个数据引用:
WWW: &WWW
- Zhangsan
- Lisi
- Wangwu
- Zhaoliu
等同json:
WWW: [ 'Zhangsan', 'Lisi', 'Wangwu', 'Zhaoliu' ]
使用引用:
huifeng:
{ eee: [ 'Zhangsan', 'Lisi', 'Wangwu', 'Zhaoliu' ] }
参考:
1、JS-YAML demo. YAML JavaScript parser. http://nodeca.github.io/js-yaml/
2、YAML Ain’t Markup Language (YAML™) Version 1.2 3rd Edition. http://yaml.org/spec/1.2/spec.html?spm=a2c4e.11153940.blogcont44691.5.2cce2063Cp9CEJ#id2777534