JSON 系列 · 第 3 章
JSON 与 YAML、CSV、XML 互转:四种格式的选型与坑点
WebTool 团队 · 发布于 2026-09-08 · JSON / YAML / CSV / XML / 数据格式
JSON 适合接口传输,YAML 适合人写的配置,CSV 适合二维表格,XML 常见于传统企业系统。互转的核心难点不在语法而在「类型」:CSV 没有类型、YAML 会猜类型、XML 一切皆是字符串。 本站提供 JSON 转 YAML、JSON 转 CSV、JSON 转 XML 工具。
四种格式对比
| 维度 | JSON | YAML | CSV | XML |
|---|---|---|---|---|
| 主要场景 | API、配置文件 | 人工维护的配置 | 表格数据交换 | 企业系统、文档 |
| 数据类型 | 六种 | 六种+自动推断 | 只有字符串 | 只有字符串 |
| 嵌套结构 | 原生支持 | 原生支持 | 不支持 | 原生支持 |
| 注释 | ❌ | ✅ | ❌ | ✅ |
| 可读性 | 中 | 高 | 高(纯表格) | 低 |
互转的三个高频坑
1. JSON → CSV 只能转「扁平数组」。 CSV 是二维表,要求 JSON 是对象数组且各对象键一致;嵌套对象会被拍平(如 author.name)或序列化成字符串,转之前先想好列结构。
2. YAML 的类型自动推断会「帮倒忙」。 version: 1.10 会被解析成数字 1.1,on/off/yes/no 在 YAML 1.1 里是布尔值,纯数字串的邮编 code: 010 会变成八进制 8。给 YAML 写值时,拿不准就加引号。
3. XML 转 JSON 的信息丢失。 XML 有属性与文本两种承载方式(<a x="1">text</a>),还有同名兄弟节点——转成 JSON 时属性常变成 @x 之类的特殊键,同名单节点与数组的区分也容易出错,不同工具约定不一,跨系统对接时务必先看对方的转换约定。
什么时候不该用 JSON
- 给人频繁手改的配置 → YAML 或 TOML(本站有 YAML、TOML 工具)。
- Excel 要打开的数据 → CSV,注意中文 Excel 打开 UTF-8 CSV 会乱码,需带 BOM。
- 严格 schema 校验的政企对接 → XML/XSD 仍是事实标准。
最后更新:2026-09-08