简介
在数据格式描述和复杂数据展示方面的配置文件,Yaml设计的原则就是方便人类进行阅读,后缀名结束一般使用yml或者yaml,使用它也需要遵循相关的规范
-
大小写敏感
1 #表示注释 2 使用缩进表示层级关系,缩进过程中只允许使用空格不允许使用Tab 3 相同层级的元素只要左对齐即可
-
支持的数据格式
1 字典 2 列表 3 常量
YAML对象写法
字典编写方式
使用key:value形式,冒号后面加空格代表缩进层级关系
key: value
实例:
name: zhangsan
age: 18
转化为json格式即为1
{
"name": "zhangsan",
"age": 18
}
单行写法
使用key:value形式,冒号后面加空格代表缩进层级关系
key: {key1: value1,key2: value2}
实例:
key: {name: zhangsan,age: 18}
转化为json格式即为1
{
"key": {
"name": "zhangsan",
"age": 18
}
}
多行写法
实例:
key:
name: zhangsan
age: 18
转化为json格式即为1
{
"key": {
"name": "zhangsan",
"age": 18
}
}
列表编写方式
使用-开头构成列表的基本结构,冒号后面加空格代表缩进层级关系
- A
实例:
- A
- B
- C
转化为json格式即为1
[
"A",
"B",
"C"
]
多维数组行内写法
多维可以在行内表示
key: [value1, value2, ...]
实例:
key: [name: zhangsan,age: 18]
转化为json格式即为1
{
"key": [
{
"name": "zhangsan"
},
{
"age": 18
}
]
}
多维数组多行写法
实例:
key:
-
name: zhangsan
-
age: 18
转化为json格式即为1
{
"key": [
{
"name": "zhangsan"
},
{
"age": 18
}
]
}
常量写法
常量主要包括
字符串
整数
浮点
布尔
Null ...
boolean:
- TRUE #true,True都可以
- FALSE #false,False都可以
float:
- 3.14
- 6.8523015e+5 #可以使用科学计数法
int:
- 123
- 0b1010_0111_0100_1010_1110 #二进制表示
null:
nodeName: 'node'
parent: ~ #使用~表示null
string:
- 哈哈
- 'Hello world' #可以使用双引号或者单引号包裹特殊字符
- newline
newline2 #字符串可以拆成多行,每一行会被转化成一个空格
date:
- 2018-02-17 #日期必须使用ISO 8601格式,即yyyy-MM-dd
datetime:
- 2018-02-17T15:02:31+08:00 #时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区
转化为json格式即为1
{
"boolean": [
true,
false
],
"float": [
3.14,
685230.15
],
"int": [
123,
685230
],
"null": {
"nodeName": "node",
"parent": null
},
"string": [
"哈哈",
"Hello world",
"newline newline2"
],
"date": [
"2018-02-17T00:00:00.000Z"
],
"datetime": [
"2018-02-17T07:02:31.000Z"
]
}
PS:跟字典和列表并无而至