YAML 转 TOML 转换器
YAML 转 TOML 转换器是一款免费的在线IT 开发工具,本工具支持常见子集(映射、列表、标量、注释、嵌套小节);极复杂 YAML 建议先用 JSON 中…
📄 YAML to TOML Converter
YAML to TOML Converter - Paste YAML text and convert it to TOML with nested tables, arrays and common scalars. Free, browser-only.
📐 工作原理与说明
缩进层级 → [table] / [[array of tables]]
类型映射:mapping→表、sequence→数组表/数组、标量→字符串/整数/浮点/布尔/日期
类型映射:mapping→表、sequence→数组表/数组、标量→字符串/整数/浮点/布尔/日期
两种格式都表达「键值 + 嵌套」的配置树,但语法差异显著:YAML 依赖缩进与 - 列表,TOML 则用 [table] 声明表、[[table]] 声明表数组、键用点号或表头表达层级。转换时的关键约束是 TOML 要求「表必须写在所有普通键之后」,因此转换器需先输出根级标量键,再按层级输出表头;YAML 的 null 在 TOML 中无对应类型,通常被丢弃或转为空串;多行字符串、锚点与别名(&/*)无法直接映射,需先展开。转换后建议用 TOML 解析器回读校验。
⚠️ 使用说明与注意事项
- 转换按结构等价进行:YAML 映射→TOML 表,YAML 列表→TOML 数组;嵌套映射会展开为 [section] 小节。
- TOML 不支持 YAML 的锚点/合并(&anchor、*alias)与多行折叠,这类高级语法会被忽略或报错。
- 字符串中含特殊字符(冒号、#、方括号等)会自动加引号以保证 TOML 合法。
📋 YAML ↔ TOML 对照
| YAML | TOML |
|---|---|
| key: value | key = "value" |
| list:\n - a\n - b | list = ["a", "b"] |
| [a, b, c] | arr = ["a", "b", "c"] |
| parent:\n child: 1 | [parent]\nchild = 1 |
本工具支持常见子集(映射、列表、标量、注释、嵌套小节);极复杂 YAML 建议先用 JSON 中转。
📚 深度解析:YAML to TOML Converter
💡 常见使用场景
- 容器/Go 生态偏好 TOML 时转换。
- 把 K8s / CI 的 YAML 配置转成 TOML 供 Go 或 Rust 项目使用,统一多语言配置来源。
转换
`name: Tom` → `name = "Tom"`。
❓ 常见问题(FAQ)
- YAML 锚点怎么处理?
- 需展开锚点引用后再转。
- 为什么转换后结构变得很啰嗦?
- 因为 TOML 需要为每个层级显式写表头([a.b.c]),而 YAML 用缩进隐式表达,层级越深表头越多,这是格式差异导致的正常现象。若源文件大量使用锚点(&/*)或多文档(---),转换前应先展开——多数转换器不会自动处理这些特性。