YAML 轉 JSON 轉換器
把 YAML 設定檔、OpenAPI 規格與 CI 檔案轉成任何剖析器、API 或結構描述驗證器都能讀取的 JSON。上傳 .yaml 或 .yml 檔案,下載縮排排版的 JSON。
資料轉換器
或將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
上傳 YAML 檔案
加入 .yaml 或 .yml 檔案,一次最多 20 個,每個檔案上限 95 MB。檔名會保留,產生的 JSON 檔案使用相同檔名,只是副檔名不同。
- 2
選擇縮排或精簡格式
格式化排版預設為開啟,會將 JSON 縮排,方便閱讀與程式碼審查。若需要貼進請求本文的單行檔案,請在進階設定中關閉。
- 3
轉換並使用
按下轉換為 JSON,下載後再把檔案交給 API、驗證工具或需要它的指令碼。
開發者為什麼要把 YAML 轉成 JSON
YAML 是為人而寫的:用縮排取代大括號,可以加註解,多數字串也不需要引號。因此 Kubernetes 清單、GitHub Actions 工作流程、Docker Compose 檔案,以及團隊手動編輯的 OpenAPI 規格,都採用這種格式。JSON 則是為程式而寫的。每種語言的標準函式庫都有 JSON 解析器,瀏覽器也原生支援,大多數 HTTP API 也只接受它。
所以轉換發生在系統的交界處。平台工程師把清單交給只讀 JSON 的 jq 處理;後端開發人員把 OpenAPI 規格送進要求 JSON 的程式碼產生器;測試人員把以 YAML 撰寫的測試資料載入 JavaScript 測試套件。在這些情況下,YAML 仍是資料的真正來源,JSON 只是建置產物。如果要處理的是整個資料夾的資料饋送或匯出檔,而不是設定檔,XML 轉 JSON 能以同樣方式處理較舊的標記格式。
YAML 與 JSON 如何一路共同發展
- Clark Evans 首次提出 YAML
- 2001
- YAML 1.2 讓 JSON 成為 YAML 的子集
- 2009
- RFC 8259,目前的 JSON 標準
- 2017
- YAML 1.2.2 修訂版發布
- 2021
YAML 專屬功能轉成 JSON 後會怎樣
錨點(&defaults)與其別名(*defaults)讓 YAML 可以重複使用同一個區塊。JSON 沒有參照機制,因此每個別名都會被替換成該錨點區塊的完整副本。
- JSON 可能比 YAML 明顯更長
- 合併鍵(
<<: *defaults)會以相同方式展開
以 # 開頭的行是給人看的說明。JSON 沒有地方放它們,所以會被移除。
- 請將 YAML 納入版本控制,作為附有註解的原始檔
在許多 YAML 解析器中,未加引號的 2026-10-18 會被視為時間戳記。JSON 沒有日期型別,因此會寫成字串 "2026-10-18"。
一個 YAML 串流可以包含多份以 --- 分隔的文件。JSON 檔案只能存放一個值,所以當接收端工具預期單一物件時,請把每份文件放進各自的檔案。
{
"service": "billing",
"replicas": 3,
"ports": [8080, 9090],
"env": {
"LOG_LEVEL": "info",
"REGION": "NO"
}
}YAML 與 JSON 格式小知識
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
JSON
JavaScript 物件表示法
JSON 是用於結構化資料的輕量文字格式,由 Douglas Crockford 在 2000 年代初期推廣,並標準化為 RFC 8259 和 ECMA-404。它以簡單易讀的語法表示物件、陣列、字串、數字、布林值和 null。幾乎所有程式語言都把它當作網頁 API、設定檔和應用程式間資料交換的預設格式。它沒有內建註解、日期或結構描述,大型巢狀檔案不用檢視器很難閱讀。
- 壓縮方式
- –
- 透明度
- –
- 動畫
- –
- 推出年份
- 2001 · Douglas Crockford
當為人撰寫的設定檔或規格必須交給機器處理時,人們就會把 YAML 轉成 JSON,例如 API 請求、結構驗證工具,或沒有 YAML 解析器的工具。
YAML 轉 JSON 常見問題
YAML 和 JSON 存的資料相同,為什麼還要 YAML 轉 JSON?
因為許多工具只能解析其中一種。每種程式語言和瀏覽器都內建 JSON 讀取功能,YAML 則需要額外的函式庫。REST API 的請求本文、JSON Schema 驗證工具、jq,以及 package.json 或瀏覽器擴充功能的 manifest.json 等檔案,都要求使用 JSON。
YAML 裡的註解會怎麼處理?
註解會被捨棄。RFC 8259 並未為 JSON 定義註解語法,以 # 開頭的行無處可放。建議把 YAML 檔案當作附有說明的原始檔,JSON 則視為隨時可以重新產生的副本。
為什麼 NO 或 off 變成了 false?
遵循 YAML 1.1 的解析器會把 yes、no、on、off 讀成布林值,所以像挪威的國碼 NO 可能變成 false。YAML 1.2 只把 true 和 false 視為布林值,但並非每個工具都遵循。請在 YAML 中為這類值加上引號,例如 "NO",轉成 JSON 後就會維持為字串。
可以轉換用 YAML 寫的 CloudFormation 範本嗎?
AWS CloudFormation 兩種格式都支援,但 !Ref、!GetAtt 這類簡短標籤只存在於 YAML。JSON 範本必須寫成完整函式,例如 {"Ref": "MyBucket"} 或 {"Fn::GetAtt": [...]}。轉換前請先把簡短標籤改寫成完整形式,JSON 範本才會有效。
要反過來把 JSON 轉成 YAML 怎麼做?
請使用 JSON 轉 YAML。當 API 回應或產生的檔案需要變成儲存庫中易讀的設定檔時,通常就是這個方向。