Skip to content

YAML Data Structures & Syntax API

YAML 数据结构与语法参考,用于编写人类可读的配置与数据序列化。

1 class · 10 methods

YAML Grammar

10 methods

YAML 语法参考,涵盖标量、集合、块标量、锚点等数据结构。

scalar

标量,表示字符串、数字、布尔等基础值。

Returns

解析为对应类型的标量值(字符串、整数、浮点数等)。

Example

yaml
name: YAML
version: 1.2
port: 8080
ratio: 0.95
enabled: true
mapping:

映射,以键值对形式组织数据,键后接冒号与空格。

Returns

解析为键值对组成的对象/字典结构。

Example

yaml
server:
  host: localhost
  port: 3000
  timeout: 30
- item

序列,以连字符开头的列表项表示有序集合。

Returns

解析为有序数组/列表结构。

Example

yaml
fruits:
  - apple
  - banana
  - cherry

- 第一个文档项
- 第二个文档项
[a, b] / {k: v}

流式风格,用方括号表示序列、花括号表示映射,可在单行书写。

Returns

解析为与块式等价的数组或对象。

Example

yaml
colors: [red, green, blue]
point: {x: 10, y: 20}
mixed: [{a: 1}, {b: 2}]
| / >

块标量,| 保留换行(字面),> 折叠换行为空格(折叠)。

Returns

解析为多行字符串,| 保留原样换行,> 折叠为段落。

Example

yaml
literal: |
  第一行
  第二行
folded: >
  这是一段
  被折叠成一行
  的文本。
&anchor / *alias

锚点与别名,& 定义锚点,* 引用锚点以复用节点。

Returns

& 定义可复用节点,* 引用其内容,实现节点共享。

Example

yaml
defaults: &def
  timeout: 30
  retries: 3

prod:
  <<: *def
  host: prod.example.com
# comment

注释,以 # 开头,持续到行尾,被解析器忽略。

Returns

不产生任何数据节点,仅供阅读。

Example

yaml
# 服务器配置
server:
  host: localhost  # 仅开发环境
  port: 8080
null / true / false

YAML 内置标量,识别 null/空、true/false 等特殊值。

Returns

解析为对应类型的 null、布尔值或空值。

Example

yaml
debug: false
verbose: true
nullable: null
empty:
another: ~
!!type

标签,显式指定节点类型或进行类型强制转换。

Returns

将节点解析为标签指定的类型。

Example

yaml
age: !!int "25"
pi: !!float "3.14"
flag: !!str yes
seq: !!seq [1, 2, 3]
--- / ...

文档分隔符,--- 标记文档开始,... 标记文档结束(可选)。

Returns

在一个文件中划分多个独立 YAML 文档。

Example

yaml
---
name: doc1
value: 1
---
name: doc2
value: 2
...