1.表示格式要求
a.常量值
b.对象
c.数组
2.格式要求
1)大小写敏感
2)缩进代表层级关系
3)缩进只能使用空格,不能使用tab键,不要求空格数,只需要相同层级左对齐(一般2或4个空格)
4)冒号“:”数据格式key:value,冒号后要有一个空格
5)“-”后面要有一个空格
6)"#"表示注释内容
3.特殊符号
1)--- :表示一个文档的开始
2)... :表示一个文档的结束和---配合使用
ps:yaml文件可以由一或多个文档组成。
4.数据类型
1)标量
2)序列
横线"-"+单个空格表示单个列表项
[]表示一组数据
-与[]结合等可以多种组合
3)键值表
冒号":"+空格表示单个键值对
一对花括号{}表示一个键值表
问号"?"+空格表示复杂的键,当键是一个列表或键值表时,就需要使用问号来标记
? [red,green,blue]: color
等价于
? - red
- green
- blue
: color
组合表示。每个结构都可以嵌套组成复杂的表结构
color:
- red
- green
- blue
相对于
{Color: [red,green,blue]}
5.文本块
使用竖线"|"和文本内容缩进表示的块,保留块中已有的回车换行,相当于段落块
yaml: |
例如:
data: |
Welcome to the hello word!
"aabbccdddeeff"
Ending
使用大于号">"和文本内容缩进表示块,将块中回车替换为空格,最终连接成一行
yaml: >
例如:
data: >
apple
star
tea
fruit
daily
使用定界符""(双引号),"(单引号)或回车表示的块,最终表示成一行
6.数据类型的约定
对一常用数据类型的表示格式进行了约定
integer:整数标注形式
octal:八进制
hex:十六进制
float:浮点数
fixed:固定小数
minmin:负无穷
notNumber:无效数字
null:空值
boolean:布尔型
string:字符串
date:日期
datetime:日期时间
iso8601:iso8601日期格式
spaced:?
!(叹号)显示指示类型或自定义类型标识。单叹号通常是自定义类型,双叹号是内置类型
!!int 整数类型
!!float 浮点类型
!!bool 布尔类型
!!str 字符串类型
!!binary 字符串类型
!!timestamp 日期时间类型
!!null 空值
!!set 集合
!!omap,!!pairs 键值列表或对象列表
!!seq 序列,列表
!!map 键值表
锚点与引用,定义数据的复用
&:定义数据锚点,即要复制的数据
*:引用上述锚点数据,即数据的复制目的地
hr:
- XIAOMING
- &PART TEACHER
rbi:
- *PART
- XIAOHONG