YAML 是类似于XML 和 JSON的一种利于人们读写的数据格式。
基本语法
- Structure通过空格来展示
- 列表(Sequence)/清单表 里的项用"- "来代表
- 字典(Map)/杂凑表 里的键值对用": "分隔.
其他语法
- 使用** 空白字符 ** 分层, 不能使用Tab 键
- 同层元素左侧对齐
- 单行注解由 ** # ** 开始, 可以出现在杭中任何位置
- 字串一般不使用引号,但必要的时候可以用引号框住
- 可以用 --- 在一个文件中区分多个档案
- 可以用... 表示档案结尾(在流式传输时非常有用,不需要关闭流即可知道到达结尾处)
- ** > **的作用,以缩进对齐来判断是否为一段文字,也就是说,一旦缩进与上一行不一致,则认为是一个新行
# node1的例子中,第一行“Ther... door”,
# 第二行“ "Please... floor"”,
# 第三行“So...So2”
node1: >
Ther once was a man from Darjeeling
Who got on a bus bound for Ealing
It said on the door
"Please don't spit on the floor"
So he carefully spat on the ceiling
So2
- ** | ** 的作用,它表示之后的文字,每一行均为一个新行
node2: |
Ther once was a man from Darjeeling
Who got on a bus bound for Ealing
It said on the door
"Please don't spit on the floor"
So he carefully spat on the ceiling
- ** & ** 的作用,它表示一个“锚点标记”,其它节点可以使用“*”或“<<: *”来引用它的值
node3: &node3
a: 001
b: 002
- * 的作用,引用& 标记的内容
# 指node4的内容与node3完全一致
node4:
*node3
- <<: * 的作用
# 指node5的内容包含但不完全相同于node3的值。
node5:
<<: *node3
c: 003
- ? 的作用,用来明确的表示多个词汇组成的键值
# a["node9"] => {{"a"=>1, "b"=>2}=>[1, 2], "c"=>3}
node9:
? {a: 01, b: 02}
: [1, 2]
c: 3
网友评论