YAML是一個類似 XML、JSON 的標記性語言。它強調以數據為中心,並不是以標識語言為重點。因而YAML本身的定義比較簡單,號稱"一種人性化的數據格式語言"。
<student> <age>15</age> <address>Beijing</address> </student>
student: age: 15 address: Beijing
YAML的語法比較簡單,主要有下面幾個:
- 大小寫敏感
- 使用縮進表示層級關系
- 縮進不允許使用tab,只允許空格( 低版本限制 )
- 縮進的空格數不重要,只要相同層級的元素左對齊即可
- '#'表示注釋
YAML支持以下幾種數據類型:
- 純量:單個的、不可再分的值
- 對象:鍵值對的集合,又稱為映射(mapping)/ 哈希(hash) / 字典(dictionary)
- 數組:一組按次序排列的值,又稱為序列(sequence) / 列表(list)
# 純量, 就是指的一個簡單的值,字符串、布爾值、整數、浮點數、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: [順義,昌平]
注意:
1 書寫yaml切記:
后面要加一個空格
2 如果需要將多段yaml配置放在一個文件中,中間要使用---
分隔
3 下面是一個yaml轉json的網站,可以通過它驗證yaml是否書寫正確