JSON vs XML,到底选哪个?
从一段数据说起
假设我们要表示一个图书馆的书籍信息,分别用 JSON 和 XML 来写:
JSON 写法:
{
"library": {
"name": "社区图书馆",
"books": [
{ "title": "JSON 入门", "price": 29.9 },
{ "title": "XML 入门", "price": 35.0 }
]
}
}
XML 写法:
<library>
<name>社区图书馆</name>
<books>
<book>
<title>JSON 入门</title>
<price>29.9</price>
</book>
<book>
<title>XML 入门</title>
<price>35.0</price>
</book>
</books>
</library>
一眼就能看出来:JSON 更简洁。
全方位对比
| 对比项 | JSON | XML |
|---|---|---|
| 可读性 | ⭐⭐⭐⭐⭐ 简洁明了 | ⭐⭐⭐ 标签多显得臃肿 |
| 数据体积 | 小(无关闭标签) | 大(每个字段都要开始和结束标签) |
| 解析速度 | 快 | 较慢 |
| JavaScript 支持 | 原生支持,一行代码解析 | 需要额外的解析器 |
| 注释支持 | ❌ 不支持 | ✅ 支持 |
| 属性(Attributes) | ❌ 不支持 | ✅ 支持 |
| 命名空间 | ❌ 不支持 | ✅ 支持 |
| Schema 验证 | 通过 JSON Schema | 通过 XSD |
什么时候用 JSON?
- Web API / RESTful 接口 — 这已经是行业标准
- 前后端数据通信
- 移动 App 数据交换
- 配置文件(很多现代工具都用 JSON 做配置)
- NoSQL 数据库
什么时候用 XML?
- 需要注释的配置文件
- 复杂的文档标记(如 XHTML、SVG)
- 金融、医疗等行业的标准化数据交换
- Android 布局文件
- SOAP 协议(老旧系统)
结论
对于 90% 的 Web 开发场景,JSON 是更好的选择。它更轻量、更快速、更易读。XML 在特定领域仍有其价值,但如果是新项目,除非有特殊需求(如需要注释或命名空间),否则选 JSON 基本没错。
如果你的数据已经存为 JSON,但需要转成其他格式,试试我们的 JSON 在线工具,支持格式化、校验、转 CSV、转 Java POJO 等。
🔧 使用 JSON 在线工具