JSON、YAML 和 XML 都能表示结构化数据,但优化目标不同。选择格式时先看数据由谁编写、由谁读取,以及是否需要验证、注释和命名空间。
| 格式 | 更适合 | 主要限制 |
|---|
| JSON | API、跨语言数据交换、机器生成配置 | 不支持注释、日期和二进制等原生类型 |
| YAML | 人工维护的配置文件 | 缩进和隐式类型容易产生歧义,解析器实现存在差异 |
| XML | 文档、命名空间、严格模式验证和遗留协议 | 语法冗长,安全解析需要额外配置 |
不要只因“更短”选择格式。公开接口优先考虑互操作性和验证能力;人工配置优先考虑可读性、错误提示和现有工具生态。