YAML 是一个类似 XML、JSON 的标记性语言。它强调以数据为中心,并不是以标识语言为重点。因而 YAML 本身的定义比较简单,号称”一种人性化的数据格式语言”。

    1. <heima>
    2. <age>15</age>
    3. <address>Beijing</address>
    4. </heima>
    1. heima:
    2. age: 15
    3. address: Beijing

    YAML 的语法比较简单,主要有下面几个:

    • 大小写敏感
    • 使用缩进表示层级关系
    • 缩进不允许使用 tab,只允许空格( 低版本限制 )
    • 缩进的空格数不重要,只要相同层级的元素左对齐即可
    • ‘#’表示注释

    YAML 支持以下几种数据类型:

    • 纯量:单个的、不可再分的值
    • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hash) / 字典(dictionary)
    • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
      1. # 纯量, 就是指的一个简单的值,字符串、布尔值、整数、浮点数、Null、时间、日期
      2. # 1 布尔类型
      3. c1: true (或者True)
      4. # 2 整型
      5. c2: 234
      6. # 3 浮点型
      7. c3: 3.14
      8. # 4 null类型
      9. c4: ~ # 使用~表示null
      10. # 5 日期类型
      11. c5: 2018-02-17 # 日期必须使用ISO 8601格式,即yyyy-MM-dd
      12. # 6 时间类型
      13. c6: 2018-02-17T15:02:31+08:00 # 时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区
      14. # 7 字符串类型
      15. c7: heima # 简单写法,直接写值 , 如果字符串中间有特殊字符,必须使用双引号或者单引号包裹
      16. c8: line1
      17. line2 # 字符串过多的情况可以拆成多行,每一行会被转化成一个空格
      1. # 对象
      2. # 形式一(推荐):
      3. heima:
      4. age: 15
      5. address: Beijing
      6. # 形式二(了解):
      7. heima: {age: 15,address: Beijing}
      1. # 数组
      2. # 形式一(推荐):
      3. address:
      4. - 顺义
      5. - 昌平
      6. # 形式二(了解):
      7. address: [顺义,昌平]
      注:
    1. 书写 yaml 切记 “:” 冒号后面要加一个空格
    2. 如果需要将多段 yaml 配置放在一个文件中,中间要使用 —- 分隔
    3. yaml 转 json 的网站,https://www.json2yaml.com/convert-yaml-to-json,可以通过它验证 yaml 是否书写正确