YAML是一个类似 XML、JSON 的标记性语言。它强调以数据为中心,并不是以标识语言为重点。因而YAML本身的定义比较简单,号称"一种人性化的数据格式语言"。
<heima>
<age>15</age>
<address>Beijing</address>
</heima>heima:
age: 15
address: BeijingYAML的语法比较简单,主要有下面几个:
YAML支持以下几种数据类型:
# 纯量, 就是指的一个简单的值,字符串、布尔值、整数、浮点数、Null、时间、日期
# 1 布尔类型
c1: true (或者True)# 2. 整型
c2: 234# 3. 浮点型
c3: 3.14# 4. null类型
c4: ~ # 使用~表示null# 5. 日期类型
c5: 2018-02-17 # 日期必须使用ISO 8601格式,即yyyy-MM-dd# 6. 时间类型
c6: 2018-02-17T15:02:31+08:00 # 时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区# 7 字符串类型
c7: heima # 简单写法,直接写值 , 如果字符串中间有特殊字符,必须使用双引号或者单引号包裹
c8: line1
line2 # 字符串过多的情况可以拆成多行,每一行会被转化成一个空格# 对象
# 形式一(推荐):
heima:
age: 15
address: Beijing
# 形式二(了解):
heima: {age: 15,address: Beijing}# 数组
# 形式一(推荐):
address:
- 顺义
- 昌平
# 形式二(了解):
address: [顺义,昌平]# 对象数组格式一
users:
- name: Tom
age: 4
- name: Jerry
age: 5
# 对象数组格式二
users:
-
name: Tom
age: 4
-
name: Jerry
age: 5
# 对象数组缩略格式
users2: [ { name:Tom , age:4 } , { name:Jerry , age:5 } ]\n>:显示末尾\n。
|-:显示中间\n。
paragraph: >
Blank lines denote
paragraph breaks
content: |-
Or we
can auto
convert line breaks
to save space结果
"paragraph": "Blank lines denote paragraph breaks\n",
"content": "Or we\ncan auto\nconvert line breaks\nto savealias: &foo
bar: baz
alias_reuse: *foo结果:
space",
"alias": {
"bar": "baz"
},
"alias_reuse": {
"bar": "baz"
}object:
key: value
array:
- null_value:
- boolean: true
- integer: 1
- alias: &example aliases are like variables
- alias: *example
- test:
key01:
value01结果:
"object": {
"key": "value",
"array": [
{
"null_value": null
},
{
"boolean": true
},
{
"integer": 1
},
{
"alias": "aliases are like var
},
{
"alias": "aliases are like var
},
{
"test": {
"key01": "value01"
}
}
]
}小提示: 1 书写yaml切记
:后面要加一个空格 2 如果需要将多段yaml配置放在一个文件中,中间要使用---分隔 3 下面是一个yaml转json的网站,可以通过它验证yaml是否书写正确 https://www.json2yaml.com/convert-yaml-to-json