是一个可读高,用来表达数据序列的格式。YAML的意识其实是:仍是一种标记语言,但为了强调这种语言以数据作为中心,而不是以标记语言为重点
- 缩进时不允许使用Tab键,只允许使用空格
- 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
- #标识注释,从这一个字符一直到行尾,都会被解释器忽略
- 对象:键值对的集合,又称为映射(mapping)/哈希(hash)/字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence)/列表(list)
- 纯量(scalars):单个的、不可再分的值
name: Steve
age: 18
hash : {name : Steve, age: 18}
animal
- Cat
- Dog
animal:[Cat,Dog]
1 languages:
2 - Ruby
3 - Perl
4 - Python
5 websites:
6 YAML: yaml.org
7 Ruby: ruby-lang.org
8 Python: python.org
9 Per: use.perl.org
1 字符串 布尔值 整数 浮点数 null
2 时间 日期
数值直接以字面量的形式表示
number:12.30
布尔值用true和false表示
isSet: true
null用~表示
parent:~
时间采用 ISO8601格式
iso8601: 2001-12-14t11:11:11.10-05:00
日期采用复合iso8601格式的年月、日表示
date:1976-01-11
YAML允许使用两个感叹号,强制转换数据类型
e: !!str 123
f: !!str true
str: 这是一行字符串
str: '内容: 字符串'
s1: '内容\n字符串'
s1: "内容\n字符串"
str: 'labor''s day'
str: 这是一段
多行
字符串
this: |
Foo
Bar
that: >
Foo
Bar
s1: |
Foo
s2: |+
Foo
s3: |-
Foo