首页 / 教程 / 格式对比

JSON vs YAML vs XML:不同数据格式怎么选

JSON、YAML 和 XML 都能表达结构化数据,但它们解决的问题并不完全相同。选择格式时,应优先考虑消费方、可读性、验证方式和生态工具。

JSON:Web API 的默认选择

JSON 语法紧凑,几乎所有语言都有标准库支持,浏览器原生提供 JSON.parse()JSON.stringify()。公开 HTTP API、前端配置、日志片段和文档数据库中,JSON 通常是默认选择。

YAML:更适合人工编辑的配置

YAML 支持注释、多行字符串和更简洁的列表写法,常见于 Kubernetes、Docker Compose、GitHub Actions 等配置文件。但 YAML 对缩进敏感,隐式类型规则也可能带来意外,因此不适合作为公共 API 的响应格式。

XML:文档型和企业系统仍常见

XML 支持属性、命名空间、Schema、XPath 和 XSLT,适合文档型数据、传统企业系统和需要强验证的场景。代价是语法冗长、解析复杂度更高。

同一份数据的三种写法

// JSON
{"user":{"name":"Li","roles":["admin","editor"]}}

# YAML
user:
  name: Li
  roles:
    - admin
    - editor

<!-- XML -->
<user><name>Li</name><roles><role>admin</role><role>editor</role></roles></user>

实用建议

相关教程