https://blog.csdn.net/zhengxiangwen/article/details/70042514
yaml的语法:
1、在yaml里面,结构通过缩进来表示,连续的项目(如:数组元素、集合元素)通过减号“-”来表示,map结构里面的键值对(key/value)用冒号“:”来分割。
yaml也有用来描述好几行相同结构数据的缩写语法,数组用“[]”包括起来,hash用“{}”来包括。这几乎就是yaml的全部语法了。
bat:
website:
baidu: http://www.baidu.com
qq: http://www.qq.com
ali:
- http://www.taobao.com
- http://www.tmall.com
ceo:
yanhongli: 李彦宏
huatengma: 麻花疼
yunma: 马云
等价于:
bat:
website:{baidu: http://www.baidu.com,qq: http://www.qq.com,ali: [http://www.taobao.com, http://www.tmall.com]}
ceo:{ yanhongli:李彦宏,huatengma:麻花疼,yunma:马云}
2、在yaml里,用#做注释
3、在yaml里,用on、1、true来表示true,off、0、false来表示false
使用yaml的注意事项
1、在yaml里面,结构通过缩进来表示,yaml不支持制表符tab缩进,请使用空格缩进;
2、如果参数是以空格开始或结束的字符串,应使用单引号把他包进来。如果一个字符串参数包含特殊字符,也要用单引号包起来。下面是示例:
如果要保存类似 http://www.bai'u.com这样的数据时,下面这种写法是错误的:
website:{ baidu: http://www.bai'u.com }#写法错误,因为没有用单引号括起来;
website:{ baidu: ' http://www.bai''u.com'}#写法正确,如果字符串中本身包含单引号,则需要用‘’进行转义;如果字符串开头或结尾包含空格,则需要用单引号将整个字符串包裹
在书写键值对时,如果键名或键值包含非英文字母和数字,应该用引号括起来,例如: '标题': '这是我的第一本杂志'
3、每个冒号后面一定要有一个空格(以冒号结尾不需要空格,表示文件路径的模版可以不需要空格),这里指的是键值对,例如:
mykey: my_value
4、 想要表示列表项,使用一个短横杠加一个空格。多个项使用同样的缩进级别作为同一个列表的一部分
my_dictionary:
- list_value_one
- list_value_two
- list_value_three
5、yaml中,空值可以用null或~表示