YAML 文件介绍

本文将详细介绍 YAML 文件常用语法。

在学习 Spring Boot 时,它支持 properties 和 yml 两种类型的配置文件。前者就是 java 中的属性文件,即 KV 值,这里就不再赘述;本文主要介绍另一种配置文件 yml,即 YAML 文件。

YAML 全称为“Yet Another Markup Language”(发音 /ˈjæməl/ )。它是一种基于 Unicode 容易阅读,容易和脚本语言交互的,用来表达资料序列的编程语言。

适应场景

脚本语言由于实现简单,解析成本很低,YAML 特别适合在脚本语言中使用。

序列化: YAML是由宿主语言数据类型直转的比较适合做序列化。

配置文件:写 YAML 要比写 XML 快得多(无需关注标签或引号),并且比 INI 文档功能更强。由于兼容性问题,不同语言间的数据流转建议不要用 YAML。

语言优点

  • YAML易于人们阅读。

  • YAML数据在编程语言之间是可移植的。

  • YAML匹配敏捷语言的本机数据结构。

  • YAML具有一致的模型来支持通用工具。

  • YAML支持单程处理。

  • YAML具有表现力和可扩展性。

  • YAML易于实现和使用。

YAML语法

(1)基础语法规则:

    • 大小写敏感

    • 使用缩进表示层级关系

    • 缩进时不允许使用Tab键,只允许使用空格

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

(2)行开头使用‘#’表示注释,YAML 只能单行注释,从‘#’开始处到行尾,例如:

# 这是一行注释

(3)YAML 支持的数据结构有三种,如下:

    • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

    • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

    • 纯量(scalars):单个的、不可再分的值

(4)对象

对象是一组键值对,使用冒号结构表示。如下:

YAML 文件介绍

Yaml 也允许另一种写法,将所有键值对写成一个行内对象。如下:

YAML 文件介绍

(5)数组

数组由一组连词线(“-”)开头的行,构成一个数组。如下:

YAML 文件介绍

如果数据结构的子成员也是一个数组,则可以在该项下面缩进一个空格。如下:

YAML 文件介绍

数组也可以采用行内表示法。如下:

YAML 文件介绍

(6)复合结构

对象和数组可以结合使用,形成复合结构。如下:

YAML 文件介绍

(6)纯量

纯量是最基本的、不可再分的值。以下数据类型都属于 JavaScript 的纯量。

  • 字符串

  • 布尔值

  • 整数

  • 浮点数

  • Null

  • 时间

  • 日期

实例如下:

YAML 文件介绍

(7)字符串

字符串是最常见,也是最复杂的一种数据类型。字符串默认不使用引号表示。如下:

YAML 文件介绍

(8)引用

锚点(&)和别名(*),可以用来引用。如下:

YAML 文件介绍

&用来建立锚点(defaults),<<表示合并到当前数据,*用来引用锚点。下面是另一个例子:

YAML 文件介绍

更多关于 YAML 文档的知识,请参考官方手册 https://yaml.org/spec/1.2/spec.html

谁不会休息,谁就不会工作。 —— 列宁
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号