YAML基本語法
1、YAML基本介紹
YAML是 YAML Ain’t Markup Language(中文意思:YAML不是一種標記語言)的縮寫,YAML 是一種簡潔的非標記語言,文件名后綴為yml,java中經常用它描述配置文件application.yml。YAML以數據為中心,比json/xml等更適合做配置文件。使用空白,縮進,分行組織數據,從而使得表示更加簡潔易讀。
2、yaml基本語法
2.1、yaml語法基本規則
YAML有以下基本規則:
- 大小寫敏感
- 使用縮進表示層級關系,只要是左邊對齊的一列數據都是同一個層級的
- 數據值前邊必須有空格,作為分隔符,否則無法識別該字段值為一個屬性(比如 port: 8082,8082前邊必須最少有一個空格,可以有多個)
- 禁止使用tab縮進,只能使用空格鍵
- 字符串可以用也可以不用引號引起來
- 縮進長度沒有限制,只要元素對齊就表示這些元素屬于一個層級。
- 使用 # 表示注釋
2.2、常量的寫法
語法結構 :key:空格 value (注意,空格不能去掉,否則無法正確識別)。
yaml 以空格的縮進來控制層級關系,只要是左對齊的一列數據,都是同一個層級的
server:
port: 8081
字面量直接寫在后面就可以 , 字符串默認不用加上雙引號或者單引號。
注意:
-
"xxx" 雙引號可以識別轉義字符, 特殊字符會作為本身想表示的意思。比如 :name: "kuang \n shen",使用該屬性值時,輸出會得到結果:kuang 換行 shen
-
'xxx' 單引號會忽略轉義字符 , 特殊字符最終會原樣輸出。比如 :name: 'kuang \n shen',使用該屬性值時,輸出會得到結果:kuang \n shen
在同一個 yml 文件里,不能有多個相同對象,同一個對象里不能有多個相同的屬性
2.3、對象(Map)的寫法
在下一行來寫對象的屬性和值的關系,注意縮進。
#對象、Map格式 k: v1: v2: #示例: student: name: qinjiang age: 3
也可以使用行內寫法,如下:
student: {name: qinjiang,age: 3}
2.4、數組的寫法
用 - 值 來表示數組中的一個元素。
pets: - cat - dog - pig #行內寫法如下: pets: [cat,dog,pig]
2.5、參數的引用
在 yml 中可以直接引用文件內其他地方出現的屬性值,如下:
name: lisi
person:
name: ${name} # 引用上邊定義的name值

浙公網安備 33010602011771號