简介
yaml 常用来配置项目,和 json 类似,称作 json 的超集,特别适合描述数据结构,因此常用来作数据驱动或者配置文件
文件后缀为.yml
基本规则
- 大小写敏感
- 缩进来表示层级关系,但是不允许 tab 只许空格,且空格数不重要,相同层级需要对齐
#
用来注释
数据类型
-
键值对
key1: value1 key2: value2
-
数组
- array1 key: [value1, value2] - value1 value2
-
纯量
# 布尔,TRUE True true FALSE False false 都可以 boolean: true # 浮点型,支持科学计数法 float: 3.14 # 整型,支持二进制表示 int: 100 # 空 null: ~ # 字符串,对于被 yaml 识别的特殊字符可以使用单引号或者双引号捕获 String1: 你好 String2: '你好 世界' # 使用 > 可以让文本换行表示空格,如果加 | 则表示保留了换行符 \n,|+ 表示保留最末尾的换行,|- 则表示删除最末尾的换行 String3: > 你好 世界 # 日期,格式必须是 ISO 8601 格式,yyyy-MM-dd date: 2018-02-17 # 时间,格式必须是 ISO 8061 格式,yyyy-MM-dd 然后加上 T 连接上具体的时分秒信息,再通过 + 连接上时区 datetime: 2018-02-17T15:02:31+08:00
除此之外当然是支持复合结构的
锚点和引用
关键字就是&
和*
和<<
&
表示打上锚点,*
表示引用,类似 shell 中的$
,<<
表示合并到当前数据
var1: &var1
key1: value1
var2:
<<: *var1
key2: value2