JSON、YAML、XML、CSV 互轉
貼上文字即時轉換,或上傳檔案批次處理。適合寫程式、改設定檔、整理 API 資料。
貼上文字轉換
上傳檔案轉換
四種格式的轉換方式
JSON ⇄ YAML
兩者可以表達的資料結構幾乎一樣,因此可以完整互轉。常見情境是把 API 回傳的 JSON 改寫成 Kubernetes、Docker Compose、GitHub Actions 使用的 YAML 設定檔,或反過來把 YAML 轉成 JSON 給程式讀取。注意 YAML 中的註解在轉成 JSON 後會消失,因為 JSON 不支援註解。
XML ⇄ JSON
XML 的屬性會轉成以 @ 開頭的欄位,例如 <book id="1"> 會變成 {"book": {"@id": "1"}};同時有屬性和文字的節點,文字會放在 #text。重複出現的同名元素會自動變成陣列。從 JSON 轉回 XML 時也遵循相同規則,所以可以來回轉換。
CSV ⇄ JSON
CSV 的第一列會當作欄位名稱,之後每一列轉成一個物件;看起來像數字的值會自動轉成數字。從 JSON 轉成 CSV 時,資料需要是物件陣列,巢狀物件會以 JSON 文字存在儲存格裡。需要 Excel 格式的話,請使用試算表轉換。
範例
以下這段 JSON:
{
"site": "轉檔工坊",
"features": ["免費", "免上傳"],
"limits": { "files": null }
}
轉成 YAML 會變成:
site: 轉檔工坊
features:
- 免費
- 免上傳
limits:
files: null
可以把上面的 JSON 複製到「貼上文字轉換」的左側試試看。
常見問題
格式錯誤時會怎樣?
輸入框下方會顯示錯誤原因,例如 JSON 少了逗號或引號、XML 標籤沒有關閉。修正後會自動重新轉換。
可以處理多大的檔案?
數十 MB 的 JSON 一般電腦都能處理。非常大的檔案建議用上傳的方式,不要貼在文字框裡,以免瀏覽器變慢。
敏感的設定檔(含密碼、金鑰)可以放心使用嗎?
轉換完全在你的瀏覽器中執行,資料不會傳到任何伺服器。不過我們仍建議在分享轉換結果前,記得把密碼與金鑰移除。