YAML基础语法

  • 大小写敏感
  • 数据值前边必须有空格,作为分隔符
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格【各个系统Tab对应的空格数目可能不同,导致层次混乱】。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • #表示注释,从这个字符一直到行尾,都会被解析器忽略。

核心规则:数据前面要加空格与冒号隔开

1
2
3
4
5
server:
port: 80
address: 127.0.0.1

name: yamiedie

字面值表示方式

1
2
3
4
5
6
7
8
boolean: TRUE						#TRUE ,true ,True , FALSE,false , False均可
float: 3.14 #6.8523015e+5#支持科学计数法
int: 123 #0b1010_0111_0100_1010_1110#支持二进制、八进制、十六进制
null: ~ #使用~表示null
string: Helloworld #字符串可以直接书写
string2: "Hello world" #可以使用双引号包裹特殊字符
date: 2022-02-17 #日期必须使用yyyy-MM-dd格式
datetime: 2022-02-17T15:02:31+08:00 #时间和日期之间使用T连接,最后使用+代表时区

YAML数据格式

  • 对象(map):键值对集合
1
2
3
4
5
6
7
#对象形式
user:
name: zhangsan
age: 23
address: xian
#行内写法
user: {name: lisi,age: 22,address: beijing}
  • 数组:一组按次序排列的值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
object:
- JAVA #- 和 数据用空格分离
- 大数据
- 前端
#行内写法
object: [JAVA,大数据,前端]
#==========================================
#数组对象格式
users:
-
name: TJS
age: 18
-
name: ZLX
age: 23
#对象数组缩略格式
users2: [{name:TJS,age23},{name:ZLX,age:22}]
  • 纯量:单个的、不可再分的值
1
2
3
4
5
address1: "中国 \n 西安" 		#双引号  识别转义字符
address2: '中国 \n 西安' #单引号 忽略转义字符
#也可以不加 引号
city1: "中国 西安" #有空格就加双引号
city2: 中国西安
  • 参数引用

使用${变量名},来进行变量引用

1
2
3
4
5
BaseDir: D:/windows
SpecificDir:
one: ${BaseDir}/temp
two: ${BaseDir}/nmp
three : "${BaseDir}/temp"
  • 其他

还可以混合使用哦

1
2
3
4
5
6
7
enterprise:
name : itcast
age: 16
subject:
- Java
- 前端
- 大数据

__END__