YAML 学习笔记

YAML 是专门用来写配置文件的语言,非常的简洁和强大,远比JSON格式要方便。

简介

YAML是一种通用的数据串行化格式。它的基本语法规则如下:

1
2
3
4
大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tab键,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可

#表示注释,从这个字符一直到行尾,都会被解析器所忽略。

YAML 支持的数据结构有三种,分别是对象(键值对的集合,又称为映射,哈希,字典)。数组(一组按次序排列的值,又称为序列,列表)。纯量(单个的,不可再分的值)。

对象

对象的一组键值对,使用冒号结构来表示

1
animal: pets

yaml也允许另外一种写法,将所有的键值对写成一个行内对象。

1
hash: {name: Stave, foo: bar}

数组

一组连词线开头的行,构成了一个数组。

1
2
3
- cat
- dog
- goldfish

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

1
2
3
4
-
- cat
- dog
- goldfish

复合结构

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

1
2
3
4
5
6
7
8
9
languages:
- Ruby
- Perl
- Python
websites:
YAML: yaml.org
RUBY: ruby-lang.org
Python: python.org
Perl: use.perl.org

纯量

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

字符串,布尔值,整数,浮点数,Null, 时间 日期。

数字直接以字面量的形式表示

1
number: 12.30

布尔值用 true和false 表示

1
isSet: true

Null~表示

1
parent: ~

字符串

字符串默认是不使用引号的。

1
str: 这是一行字符串

如果字符串之中包含空格或者特殊字符,需要放在引号之中(单双引号都可)。

1
str: '内容: 字符串'