一.简介
- YAML 是 “YAML Ain’t a Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:“Yet Another Markup Language”(仍是一种标记语言)。
- 它非常适合用来做以数据为中心的配置文件。
二.基本的语法结构
- key: value;key:与value之间有空格
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用tab,只允许空格(但是在idea中可以放心使用tab来进行缩进,目前还没有出现什么问题)
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- '#'表示注释
- 字符串无需加引号,如果要加,
""
与''
表示字符串内容会被转义或不转义。- 其中单引号
''
字符串内容不会被转义,举个例子' \n '
会输出\n这个字符串 - 双引号
""
字符串内容会被转义,举个例子"\n "
会把\n进行转义输出换行回车
- 其中单引号
1. 当数据类型是字面量
- 字面量:单个的、不可再分的值。date、boolean、string、number、null
语法为:(k:
与v
之间必须加空格。)
#`k:`与`v`之间必须加空格
k: v
2.当数据类型是对象、键值对的集合
对象、键值对的集合:map、hash、set、object
语法为:(行内写法时
k:
与v
之间可以不加空格,一般写法时k:
与v
之间必须加空格)
#行内写法:(行内写法时`k:`与`v`之间可以不加空格)
k: {
k1:v1,k2:v2,k3:v3}
#或一般写法:(一般写法时`k:`与`v`之间必须加空格)
k:
k1: v1
k2: v2
k3: v3
3.当数据类型是数组、一组按次序排列的值
3.当数据类型是数组、一组按次序排列的值
数组、一组按次序排列的值:array、list、queue
语法为:(
k:
与v
之间,-
与v
之间都必须加空格)
#`k:`与`v`之间,`-`与`v`之间都必须加空格
行内写法: k: [v1,v2,v3]
#或者
k:
- v1
- v2
- v3
实战示例:
输出结果: