tomai
登录

JSON、YAML、XML 怎么选

JSON、YAML 和 XML 都能描述结构化数据,但取舍完全不同。选哪个不取决于口味,而取决于下一个读这个文件的是谁——是人还是机器。

JSON:机器的最爱

JSON 严格且可预测:键必须加引号、不允许注释、任何语言解析结果一致。API 默认选它正是因为这份严格。如果文件由机器产出、也被机器消费,JSON 通常是对的。

YAML:为人类设计

YAML 用缩进代替花括号,CI 配置这类文件读起来改起来都舒服。代价是静默出错:缩进错一格含义就变,no0777 这类值可能被解析成布尔或八进制数字。YAML 奖励细心的编辑者,惩罚复制粘贴。

XML:文档与契约

XML 冗长但表达力强——属性、混合内容、命名空间和 Schema 校验,让它在“文档必须对契约校验”的场景(SOAP、DOCX 内部结构、SVG、企业级数据源)里依然强势。

一条快速经验法则

  • 机器对机器 → JSON
  • 人手编辑 → YAML
  • 文档结构或严格校验 → XML

已经有其中一种、需要另一种?直接转换而不是手打:校验并格式化 JSON把 JSON 转成 YAML,或者 把 XML 映射为 JSON——全部在浏览器里完成,文件不上传。