YAML

YAMLarrow-up-right 是一个可读性高,用来表达资料序列化的格式。YAML参考了其他多种语言,包括:C语言、Python、Perl,并从XML、电子邮件的数据格式(RFC 2822)中获得灵感。

YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言),但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。

yaml转换网站点这里arrow-up-right

来一段直观的对比吧:

<Servers>
    <Server>
        <name>Server1</name>
        <owner>John</owner>
        <created>123456</created>
        <status>active</status>
    </Server>
</Servers>
{
  "Servers": {
    "Server": {
      "name": "Server1",
      "owner": "John",
      "created": "123456",
      "status": "active"
    }
  },
}

语法特点

  • 大小写敏感

  • 通过缩进表示层级关系

  • 禁止使用tab缩进,只能使用空格键

  • 缩进的空格数目不重要,只要相同层级左对齐

  • 使用#表示注释

数据类型

集合

文档结构

YAML使用三个连续的短横(---)来分割文档的内容。

  • (---):表示文档的开头

  • (...):表示文档的结束

语法

引号的区别

  • 单引号(''):特殊字符作为普通字符处理

  • 双引号(""):特殊字符作为本身想表示的意思

内置类型列表

YAML运行使用感叹号(!)强制转换数据类型:

  • 单叹号(!):自定义类型

  • 双叹号(!!):内置类型

内置类型

说明

!!int

整数类型

!!float

浮点数类型

!!bool

布尔类型

!!str

字符串类型

!!null

空值

!!set

集合

!!seq

列表

!!map

键值对

!!binary

二进制类型

!!timestamp

时间戳类型

!!omap/!!pairs

键值列表

纯量

纯量是最基本的不可在分割的值。

特殊类型

最后更新于