YAML 语法介绍

作者:c4t2024.01.18 06:03浏览量:8

简介:YAML Ain't a Markup Language(YAML不是一种标记语言)的递归缩写,是一种可读性好、跨语言、基于Unicode的数据序列化语言。它的语法与其他高级语言类似,并且可以简单表达对象、数组、标量等数据形态。

YAML(YAML Ain’t a Markup Language)是一种可读性好、跨语言、基于Unicode的数据序列化语言。它的语法与其他高级语言类似,并且可以简单表达对象、数组、标量等数据形态。
YAML的主要特点是它以数据为中心,而不是以标记语言为中心。例如,像XML语言会使用大量的标记,而YAML则使用空白符号缩进来表达数据的层次结构,使其非常适合用于表达或编辑数据结构、各种配置文件等。
YAML文件的后缀为.yml,例如Springboot项目中的配置文件application.yml。许多编程语言,如C、Java、Perl、Python、Ruby等,都有对应的模块包可以处理YAML语言或YAML文件。
在YAML中,你可以使用以下语法:

  1. 标量(Scalars):标量是单一值的数据,例如字符串、数字或布尔值。在YAML中,标量值可以不用引号括起来,但使用引号可以增加可读性。
  2. 数组(Arrays):数组是一组有序的值。在YAML中,数组可以使用中括号[]表示,每个元素之间用逗号分隔。
  3. 散列表(Hashes):散列表是一种键值对的集合。在YAML中,散列表使用大括号{}表示,键和值之间用冒号分隔。
  4. 层次结构(Hierarchical Structure):在YAML中,你可以使用缩进来表示数据的层次结构。缩进通常使用两个空格表示。
    下面是一个简单的YAML示例:
    1. name: John Doe
    2. age: 30
    3. address:
    4. street: 123 Main St
    5. city: New York
    6. state: NY
    7. phone: (212) 555-1234
    这个示例中,nameagephone是标量值,address是一个散列表,其中包含streetcitystate等键值对。层次结构通过缩进表示,address下的内容缩进两个空格表示它是address的一个子节点。
    另外,你可以使用点符号(.)来表示嵌套的散列表或数组。例如:
    1. person:
    2. name: John Doe
    3. age: 30
    4. contact:
    5. phone: (212) 555-1234
    6. email: john@example.com
    在这个示例中,contact是一个嵌套的散列表,它包含phoneemail两个键值对。
    总的来说,YAML是一种简洁且易于阅读和编写的数据序列化语言。它的语法简洁明了,非常适合用于配置文件、数据交换和日志记录等领域。