# 结构化数据转换器

> 免费 YAML ↔ JSON ↔ TOML 转换器，支持 multi-document YAML、anchor 解析，并保持零网络请求。

- **Category:** 开发者
- **URL:** https://www.teafun.cyou/tools/yaml-json-toml/
- **Privacy:** Runs entirely in your browser — no uploads, no account, no tracking.
- **Also known as:** yaml, yml, toml, config converter, structured data, yaml to json, json to yaml, convert config
- **Related tools:** [JSON 格式化 / 验证器](https://www.teafun.cyou/tools/json-formatter/), [ENV / Shell / Docker 转换器](https://www.teafun.cyou/tools/env-converter/), [日志格式化工具](https://www.teafun.cyou/tools/log-formatter/)
- **Tags:** Data, Conversion, Formatting

## About

在浏览器本地转换 YAML、JSON 和 TOML，支持 multi-document YAML 和 anchor 解析。

## 如何使用结构化数据转换器

选择**From**和**To**格式。粘贴源数据或从磁盘**Import file**。结果即时出现。Swap 按钮反转 From-To 并将输出移入输入框（用于往返测试——`YAML -> JSON -> YAML` 应该是 idempotent 的，除了注释丢失和键顺序）。对于以 `---` 分隔的多文档 YAML，转换器输出 JSON 数组（每份文档一个元素）或在反向方向连接回多文档 YAML。锚点（`&name`）和别名（`*name`）在转换前解析——输出有展开的值，而不是参考。错误面板列出解析失败的行和列，有上下文窗口：JSON 中缺少 `]`、YAML 中的缩进破损，或 TOML 中未引用的特殊字符是最常见的三个问题。下载为 `.json`、`.yaml` 或 `.toml`——文件扩展名符合目标格式，编辑器应用正确的语法高亮。

## 为什么配置格式转换很重要

格式选择表明意图。JSON 用于 wire-format和需要明确解析的工具——每个 `{` 和 `[` 确实是一件事。YAML 用于人类编写配置和交叉引用（锚点避免在服务间复制粘贴环境变量块）。TOML 用于显式类型的配置，其中不慎混淆字符串和日期是不可接受的（`Cargo.toml` 不会容忍 Norway problem）。迁移项目时，转换会揭示不匹配：YAML 文件若使用 YAML 1.1 解析器的 `country: NO` 会变成 JSON 的 `country: false`，悄悄破坏下游系统。TOML 日期转换为 JSON 会失去其类型——往返回 TOML 会产生字符串，破坏期望 `datetime` 的配置验证器。转换器通过尽可能保留所有三种格式的类型信息来解决这个问题，使输入 = 输出——除了注释（YAML 和 TOML 支持但 JSON 不支持）。

_SEO title: 结构化数据转换器 – YAML、JSON、TOML | TeaFun_

## FAQ

### 支持 multi-document YAML 吗？

支持。如果输入包含用 --- 分隔的多个 YAML 文档，转换器会保留这个结构，并可输出为 JSON 数组或 YAML multi-doc。

### 为什么 multi-document YAML 不能直接转 TOML？

TOML 更适合表达单一 object 文档。如果你粘贴了多份 YAML，建议先转成 JSON，或者先合并后再导出 TOML。

### YAML anchors 和 aliases 会被解析吗？

会。转换器会先在浏览器本地解析 anchors 和 aliases，然后再生成输出结果。
