JSON、YAML、XML 怎麼選
JSON、YAML 和 XML 都能描述結構化資料,但取捨完全不同。選哪個不取決於口味,而取決於下一個讀這個檔案的是誰——是人還是機器。
JSON:機器的最愛
JSON 嚴格且可預測:鍵必須加引號、不允許註解、任何語言解析結果一致。API 預設選它正是因為這份嚴格。如果檔案由機器產出、也被機器消費,JSON 通常是對的。
YAML:為人類設計
YAML 用縮排代替大括號,CI 設定這類檔案讀起來改起來都舒服。代價是靜默出錯:縮排錯一格意義就變,no、0777 這類值可能被解析成布林或八進位數字。YAML 獎勵細心的編輯者,懲罰複製貼上。
XML:文件與契約
XML 冗長但表達力強——屬性、混合內容、命名空間和 Schema 驗證,讓它在「文件必須對契約驗證」的場景(SOAP、DOCX 內部結構、SVG、企業級資料源)裡依然強勢。
一條快速經驗法則
- 機器對機器 → JSON
- 人手編輯 → YAML
- 文件結構或嚴格驗證 → XML
已經有其中一種、需要另一種?直接轉換而不是手打:驗證並格式化 JSON、把 JSON 轉成 YAML,或者 把 XML 映射為 JSON——全部在瀏覽器裡完成,檔案不上傳。