From ff65ef414248246927e2630e043624e28ff5cd9f Mon Sep 17 00:00:00 2001
From: jaywcjlove 这是理解和编写 YAML 格式配置文件的快速参考备忘单。 YAML 是一种数据序列化语言,旨在供人类直接读写 使用空格缩进。 元素部分之间必须有空间。 YAML使用 集合表示为一个映射,其中每个键都与一个空值相关联 基于 YAML.org refcard。 YAML 备忘清单
入门
介绍
+
+
+.yaml
或 .yml
扩展名结束您的 YAML 文件 标量类型
+n1: 1 # 整数
+n2: 1.234 # 浮点
+s1: 'abc' # 字符串
+s2: "abc" # 字符串
+s3: abc # 字符串
+b: false # 布尔类型
+d: 2015-04-05 # 日期类型
+
↓ 等效的 JSON
+{
+ "n1": 1,
+ "n2": 1.234,
+ "s1": "abc",
+ "s2": "abc",
+ "s3": "abc",
+ "b": false,
+ "d": "2015-04-05"
+}
+
变量
+some_thing: &VAR_NAME foobar
+other_thing: *VAR_NAME
+
↓ 等效的 JSON
+{
+ "some_thing": "foobar",
+ "other_thing": "foobar"
+}
+
注释
+# A single line comment example
+# block level comment example
+# comment line 1
+# comment line 2
+# comment line 3
+
多行字符串
+description: |
+ hello
+ world
+
↓ 等效的 JSON
+{"description": "hello\nworld\n"}
+
继承
+parent: &defaults
+ a: 2
+ b: 3
+child:
+ <<: *defaults
+ b: 4
+
↓ 等效的 JSON
+{
+ "parent": {
+ "a": 2,
+ "b": 3
+ },
+ "child": {
+ "a": 2,
+ "b": 4
+ }
+}
+
参考
+values: &ref
+ - Will be
+ - reused below
+
+other_values:
+ i_am_ref: *ref
+
↓ 等效的 JSON
+{
+ "values": [
+ "Will be",
+ "reused below"
+ ],
+ "other_values": {
+ "i_am_ref": [
+ "Will be",
+ "reused below"
+ ]
+ }
+}
+
折叠的字符串
+description: >
+ hello
+ world
+
↓ 等效的 JSON
+{"description": "hello world\n"}
+
两份文件
+---
+document: this is doc 1
+---
+document: this is doc 2
+
---
将指令与文档内容分开。 YAML Collections
序列
+- Mark McGwire
+- Sammy Sosa
+- Ken Griffey
+
↓ 等效的 JSON
+[
+ "Mark McGwire",
+ "Sammy Sosa",
+ "Ken Griffey"
+]
+
映射
+hr: 65 # Home runs
+avg: 0.278 # Batting average
+rbi: 147 # Runs Batted In
+
↓ 等效的 JSON
+{
+ "hr": 65,
+ "avg": 0.278,
+ "rbi": 147
+}
+
映射到序列
+attributes:
+ - a1
+ - a2
+methods: [getter, setter]
+
↓ 等效的 JSON
+{
+ "attributes": ["a1", "a2"],
+ "methods": ["getter", "setter"]
+}
+
映射序列
+children:
+ - name: Jimmy Smith
+ age: 15
+ - name: Jimmy Smith
+ age: 15
+ -
+ name: Sammy Sosa
+ age: 12
+
↓ 等效的 JSON
+{
+ "children": [
+ {"name": "Jimmy Smith", "age": 15},
+ {"name": "Jimmy Smith", "age": 15},
+ {"name": "Sammy Sosa", "age": 12}
+ ]
+}
+
序列的序列
+my_sequences:
+ - [1, 2, 3]
+ - [4, 5, 6]
+ -
+ - 7
+ - 8
+ - 9
+ - 0
+
↓ 等效的 JSON
+{
+ "my_sequences": [
+ [1, 2, 3],
+ [4, 5, 6],
+ [7, 8, 9, 0]
+ ]
+}
+
映射的映射
+Mark McGwire: {hr: 65, avg: 0.278}
+Sammy Sosa: {
+ hr: 63,
+ avg: 0.288
+ }
+
↓ 等效的 JSON
+{
+ "Mark McGwire": {
+ "hr": 65,
+ "avg": 0.278
+ },
+ "Sammy Sosa": {
+ "hr": 63,
+ "avg": 0.288
+ }
+}
+
嵌套集合
+Jack:
+ id: 1
+ name: Franc
+ salary: 25000
+ hobby:
+ - a
+ - b
+ location: {country: "A", city: "A-A"}
+
↓ 等效的 JSON
+{
+ "Jack": {
+ "id": 1,
+ "name": "Franc",
+ "salary": 25000,
+ "hobby": ["a", "b"],
+ "location": {
+ "country": "A", "city": "A-A"
+ }
+ }
+}
+
无序集
+set1: !!set
+ ? one
+ ? two
+set2: !!set {'one', "two"}
+
↓ 等效的 JSON
+{
+ "set1": {"one": null, "two": null},
+ "set2": {"one": null, "two": null}
+}
+
有序映射
+ordered: !!omap
+- Mark McGwire: 65
+- Sammy Sosa: 63
+- Ken Griffy: 58
+
↓ 等效的 JSON
+{
+ "ordered": [
+ {"Mark McGwire": 65},
+ {"Sammy Sosa": 63},
+ {"Ken Griffy": 58}
+ ]
+}
+
YAML 参考
条款
+
+
+ 文档指标
+:- :- %
指令指标 ---
文档标题 ...
文档终结者 收集指标
+:- :- ?
关键指标 :
价值指标 -
嵌套系列条目指示器 ,
单独的内联分支条目 []
环绕串联系列分支 {}
环绕在线键控分支 别名指标
+:- :- &
锚属性 *
别名指示符 特殊键
+:- :- =
默认“值”映射键 <<
合并来自另一个映射的键 标量指标
+:- :- ''
环绕内联未转义标量 "
环绕内嵌转义标量 ` ` >
折叠标量指示器 -
剥离 chomp 修饰符(` +
保留 chomp 修饰符(` 1-9
显式缩进修饰符(` 标签属性(通常未指定)
+:- :- none
未指定的标签(由应用程序自动解析) !
非特定标签(默认情况下, !!map
/!!seq
/!!str
)!foo
主要(按照惯例,表示本地 !foo
标记)!!foo
次要的(按照惯例,表示 tag:yaml.org,2002:foo
)!h!foo
需要 %TAG !h! <prefix>
(然后表示 <prefix>foo
)!<foo>
逐字标记(始终表示“foo”) 杂项指标
+#
一次性评论指示器 `@
两者都保留供将来使用 核心类型(默认自动标签)
+!!map
{Hash table, dictionary, mapping}
!!seq
{List, array, tuple, vector, sequence}
!!str
Unicode 字符串 转义码
Numeric
+
+
+\x12
(8-bit)\u1234
(16-bit)\U00102030
(32-bit) Protective
+
+
+\\
(\)\"
(")\
( )\<TAB>
(TAB) C
+
+
+\0
(NUL)\a
(BEL)\b
(BS)\f
(FF)\n
(LF)\r
(CR)\t
(TAB)\v
(VTAB) 额外的
+
+
+\e
(ESC)\_
(NBSP)\N
(NEL)\L
(LS)\P
(PS) 更多类型
+!!set
{cherries, plums, apples}
!!omap
[one: 1, two: 2]
与语言无关的标量类型
+{~, null}
空(无值)。 [1234, 0x4D2, 02333]
[十进制整数、十六进制整数、八进制整数] [1_230.15, 12.3015e+02]
[固定浮点数,指数浮点数] [.inf, -.Inf, .NAN]
[无穷大(浮点数),负数,不是数字] {Y, true, Yes, ON}
布尔真 {n, FALSE, No, off}
布尔假 另见
+
+