JSON 轉 YAML 轉換器
把 JSON 改寫成方便閱讀、審查與加註解的 YAML。上傳 .json 檔案,即可取得縮排整齊的 .yaml,鍵、值與順序完全不變,可直接放進程式碼庫。
資料轉換器
或將CSV, TSV, TXT … 檔案拖曳到這裡 ·
每個檔案最大 95 MB· 最多 20 個檔案· 30 分鐘後刪除
檔案會在我們的伺服器上處理,並於 30 分鐘後刪除。
CSV 與文字檔中分隔欄位的字元,讀取與寫入都會使用。自動會從輸入偵測,並以逗號寫出。
UTF-8 適用於所有語言。若 Windows 上的 Excel 開啟 CSV 時重音字元或亞洲文字出現亂碼,請選擇含 BOM 的 UTF-8。
適用於 Excel、ODS 與 Numbers 輸入:只轉換第一個工作表,或轉換所有工作表(每個工作表輸出一個 CSV 並打包成 ZIP,或每個工作表對應一個 JSON 鍵)。
新試算表中工作表索引標籤的名稱,最多 31 個字元。
物件陣列會以欄位名稱作為每列的鍵;陣列的陣列較精簡,並將標題保留為第一個陣列。
包住所有列的外層元素名稱;每一列會成為其中的 <row>。
用於 CREATE TABLE 與 INSERT 陳述式。僅限字母、數字與底線。
不同資料庫的引號與欄位類型略有差異;請選擇您要匯入的資料庫。
將日期儲存格統一改寫成一種格式。ISO (2026-10-18) 對資料庫與程式碼最保險;保持原樣則維持來源中的顯示方式。
使用方式
- 1
加入 JSON 檔案
上傳 API 回應、匯出的設定檔或產生的 manifest(.json),最多 20 個檔案,每個檔案最大 95 MB。每個檔案都必須包含一個有效的 JSON 值。
- 2
保留預設設定
轉換為已預設選取 YAML。一般設定檔不需要再調整其他項目,輸出會使用兩個空格縮排。
- 3
轉換並提交
按下轉換為 YAML →,下載 .yaml 檔案,在後續維護者需要的地方加上註解,然後提交。
如何將 JSON 轉成 YAML?
上傳 .json 檔案,按下轉換為 YAML →。物件會變成縮排的 key: value 區塊,陣列會變成以破折號開頭的清單,YAML 可能誤判的字串則保留引號。
為什麼設定檔要從 JSON 轉成 YAML
大多數 JSON 是由軟體產生的:API 回應、設定匯出檔、產生器的輸出。大多數 YAML 則由人維護。這個轉換通常代表資料不再只是機器輸出,而是變成團隊要負責的內容,例如提交到 Git 的部署 manifest、CI 流程,或一組 Ansible 變數。
典型情況:你呼叫雲端 API,得到一份 200 行的資源 JSON 描述,並想把它當作基礎設施程式碼保存。轉換後的檔案沒有大括號和逗號,改一行就只會產生一行差異,也能在註解中說明奇怪的值。測試資料和由非開發人員編輯的翻譯檔也一樣適用。如果你需要的是平面表格,用於試算表或報告,JSON 轉 CSV 會更合適。
使用 YAML 設定檔的工具
| 機構 | 規定 | 來源 |
|---|---|---|
| GitHub Actions | 工作流程放在 .github/workflows,副檔名為 .yml 或 .yaml | GitHub Docs |
| GitLab CI/CD | 流程定義在儲存庫根目錄的 .gitlab-ci.yml | GitLab Docs |
| Docker Compose | 服務在 compose.yaml 中描述(舊名 docker-compose.yml) | Docker Docs |
| Ansible | Playbook 與變數檔以 YAML 撰寫 | Ansible Docs |
| Kubernetes | Manifest 可使用 JSON 或 YAML;文件與 Helm chart 使用 YAML | Kubernetes |
含特殊值的 JSON 轉 YAML 範例
name: 訂單服務 version: "1.10" debug: false tags: - web - eu country: "NO"
YAML 的優點
- 可用 # 加上註解
- 程式碼審查中的差異更短
- 大多數行不需要大括號、逗號或引號
- 可用 | 區塊純量寫多行文字
注意事項
- 縮排即語意,多一個空格就會改變結構
- 不允許用 Tab 縮排
- 沒有引號的字串可能被讀成數字或布林值
- 剖析器比 JSON 慢,也較不一致
這個範例說明了為什麼單純取代大括號並不夠。版本 1.10 在 JSON 中是字串;若在 YAML 中不加引號,會被讀成數字 1.1。NO 是挪威的 ISO 代碼,在 PyYAML 等 YAML 1.1 剖析器中會被讀成 false。兩者都保留引號,而真正的數字與布林值則不加引號。
JSON 與 YAML 比較
JSON
JavaScript 物件表示法
JSON 是用於結構化資料的輕量文字格式,由 Douglas Crockford 在 2000 年代初期推廣,並標準化為 RFC 8259 和 ECMA-404。它以簡單易讀的語法表示物件、陣列、字串、數字、布林值和 null。幾乎所有程式語言都把它當作網頁 API、設定檔和應用程式間資料交換的預設格式。它沒有內建註解、日期或結構描述,大型巢狀檔案不用檢視器很難閱讀。
- 壓縮方式
- –
- 透明度
- –
- 動畫
- –
- 推出年份
- 2001 · Douglas Crockford
YAML
YAML
YAML(「YAML Ain't Markup Language」)是 2001 年首次發布、對人類友善的資料格式。它以縮排取代括號,支援註解,並且是 JSON 的超集。Docker Compose、Kubernetes、GitHub Actions 與許多應用程式都廣泛用它來做設定。由於依賴空白字元,多一個或少一個空格就可能出錯,而且某些值(例如「no」或日期)可能被意外解讀。
- 壓縮方式
- –
- 透明度
- –
- 動畫
- –
- 推出年份
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
當產生的資料或 API 資料必須變成由人維護、在 pull request 中審查並能加上註解的設定檔時,人們會把 JSON 轉成 YAML。
JSON 轉 YAML 常見問題
JSON 本身就是有效的 YAML 嗎?
在 YAML 1.2 中是的:2009 年的修訂版在設計上讓每份 JSON 文件同時也是 YAML 文件。你可以把 JSON 貼進 .yaml 檔案,大多數工具都能接受。轉換的重點在於可讀性:沒有大括號、引號和逗號的區塊風格,才是審查者與下一位維護者預期的格式。
為什麼 YAML 裡有些值會加上引號?
因為沒有引號的話,YAML 會把它們讀成其他型別。像 1.10 這樣的版本字串會變成數字 1.1,而 yes 或 off 在較舊的剖析器中可能變成布林值。看起來像數字、日期或布林值的字串需要加上引號才能維持為字串,所以謹慎的轉換會保留這些引號。
轉換後可以加入註解嗎?
可以,這也是許多人轉換的原因。在行尾或單獨一行寫 # 再接上你的說明即可。JSON 無法說明某個值為何這樣設定,YAML 可以,讓審查與交接更容易。
為什麼 YAML 出現 Tab 字元錯誤?
YAML 規範禁止用 Tab 縮排,只有空格有效。轉換器輸出的是空格,但編輯器若設為插入 Tab,下次編輯時可能破壞檔案。請把編輯器設定為在 .yaml 檔案中使用空格。
Kubernetes 能接受轉換後的 manifest 嗎?
kubectl 同時能讀取 JSON 和 YAML,所以兩種寫法的資料相同;YAML 版本只是多數文件、Helm chart 和程式碼審查慣用的格式。之後若需要把 JSON 還原,用於 jq 或 API 呼叫,可以用 YAML 轉 JSON 轉回來。
- YAML 轉 JSON 轉換器將 .yaml 與 .yml 檔案轉成 JSON,供只讀 JSON 的 API、驗證器與工具使用。預設縮排輸出,每批 20 個,檔案 30 分鐘後刪除。
- JSON 轉 XML 轉換器線上將 JSON 轉成 XML:鍵變成元素,陣列變成重複元素,全部包在您命名的根標籤內。輸出自動排版縮排,免註冊。
- JSON 轉 CSV將 JSON 或 JSON Lines 轉成 CSV:每個物件一列,巢狀欄位展開成欄,UTF-8 含 BOM,Excel 正確顯示重音字元。一次可轉 20 個檔案。
- XML 轉 JSON 轉換器將 XML 轉成易讀的 JSON:屬性變成 @ 鍵,重複標籤變成陣列,文字完整保留。適用於 SOAP 回應、RSS 摘要與舊系統匯出檔。
- JSON 轉 Base64 編碼器將 JSON 檔案編碼成單行 Base64,用於 Kubernetes Secret、CI 變數、API 請求內容與權杖。可逐位元組還原,可選 data URI。
- JSON 轉 Excel 轉換器將 JSON 或 JSON Lines 轉成 Excel XLSX 工作表:鍵名成為欄位標題,每筆記錄成為一列。每批最多 20 個檔案,免註冊。