对比
XML vs JSON
XML 和 JSON 都是结构化数据文本格式,但采用不同的结构和约定。
应该选择哪种格式?
许多轻量 API 可选 JSON;若现有集成、模式、命名空间或文档结构有要求,则选 XML。
适用于 XML
结构化数据交换
- 具有模式和层级结构的数据
适用于 JSON
Web API、配置文件和数据交换
- 传递结构化数据
基本信息
| 项目 | XML | JSON |
|---|---|---|
| 扩展名 | .xml | .json |
| MIME 类型 | application/xml | application/json |
| 常见用途 | 结构化数据交换 | Web API、配置文件和数据交换 |
| 打开方式 | 可使用文本编辑器或XML工具打开。需要时检查预期编码和模式。 | 可使用文本编辑器、IDE或支持JSON的查看器打开。 |
| 导出或转换 | 当接收系统需要时可转换为JSON或其他格式,并确认结构和属性得到保留。 | 可使用应用程序或转换工具将其转换为CSV等格式。 |
按用途选择
具有模式和层级结构的数据
结构化数据交换
XML传递结构化数据
Web API、配置文件和数据交换
JSON关键点 1
XML 使用元素和属性。
进一步了解差异关键点 2
JSON 使用对象、数组和有限的一组值类型。
进一步了解差异进一步了解差异
请核对接收系统的约定和解析器。转换可能改变属性、混合内容或应用层类型。
- XML 支持命名空间和模式语言。
- JSON 常用于 Web API 数据交换。
- 没有一种格式始终更优;生态与接口约定决定适用性。
常见问题
所有 XML 都能无损转换成 JSON 吗?
不一定。两种格式对结构的建模方式不同,应检查属性、混合内容、顺序和类型。
所有 XML 文档都能无损转为 JSON 吗?
不能。属性、命名空间和混合内容需要明确映射,且未必存在唯一的 JSON 等价表示。