JSON ↔ YAML 互轉
JSON ↔ YAML 互轉可在瀏覽器本地雙向轉換 YAML 與 JSON,支援並排同步、語法檢查、鍵排序、縮排控制、多文件 YAML 和複製下載。
JSON 縮排
YAML 縮排
依字母排序鍵
將陣列拆分為多文件 YAML(--- 分隔)
JSON
字元
0 / 500,000
⇄
YAML
字元
0 / 500,000
快速開始
常見使用情境
Kubernetes 設定編寫
將 YAML 格式的 K8s 資源定義轉為 JSON 檢視結構,或反向操作
Helm Values 偵錯
將 values.yaml 轉換為 JSON 以便在 IDE 中檢查類型和巢狀層級
CI/CD 管線
在 GitHub Actions(YAML)和其他 CI 系統(JSON)之間快速轉換設定片段
API 偵錯
將 JSON 格式的回應體轉為 YAML 以獲得更直覺的層級展示
設定遷移
一次轉換目前貼上的設定片段,同時檢查註解、錨點和文件分隔符號轉成 JSON 後會如何變化
語法格式化與檢查
利用雙向同步快速檢查 JSON 或 YAML 是否合法,錯誤定位到行列
使用建議
轉換契約
有損往返邊界
限制與相容性
隱私與安全
常見問題
JSON(JavaScript Object Notation)和 YAML(YAML Ain't Markup Language)都是常見的資料序列化格式,能表達相同的資料結構(物件、陣列、字串、數字等),但語法風格不同: • JSON 使用花括號 {}、方括號 [] 和雙引號,語法嚴格,所有鍵必須加雙引號,不支援註解 • YAML 使用縮排表示層級,語法更簡潔易讀,支援註解(# 開頭),但對空格/縮排敏感 選型建議: • API 介面、程式間通訊、設定檔需要機器嚴格解析 → 用 JSON • Kubernetes/Helm/CI 設定、人工頻繁編輯的檔案 → 用 YAML • 兩者可相互轉換,資料層面完全等價
YAML 1.1 解析器常把 yes、no、on、off、y、n 等當作布林值。本工具遵循 YAML 1.2 行為,true/false 是可移植的布林值。如果下游舊工具可能按 1.1 解析,請給 "yes" 這類字串加引號。
JSON 規範(RFC 8259)不支援註解。因此 YAML→JSON 轉換必然會遺失註解,反向轉換也無法還原。如需保留註解,建議儲存一份 YAML 原始檔案
--- 是 YAML 的文件分隔符號,用於在一個檔案中包含多個獨立的 YAML 文件。這在 Kubernetes 中很常見:一個 YAML 檔案可以用 --- 分隔多個資源定義(如 Deployment + Service + ConfigMap)。本工具會將多個 YAML 文件轉換為一個 JSON 陣列,每個文件對應陣列中的一個元素;反向則可開啟「多文件 YAML」選項,將 JSON 陣列拆分為 --- 分隔的多個文件。
JavaScript 使用 IEEE 754 雙精度浮點數,安全整數範圍為 -(2⁵³-1) 到 2⁵³-1(即 ±9007199254740991)。超出此範圍的整數在轉換時可能遺失精度。常見場景包括 Snowflake ID、64 位元時間戳記等。若要保留精確值,請將大整數用引號包成字串,例如 "9007199254740992"。
YAML 錨點(&name)和引用(*name)是 YAML 獨有的重用機制。轉為 JSON 後,所有引用會被展開為完整的內容副本,因為 JSON 沒有等價的引用機制。這是有損轉換,反向轉換無法自動還原原始的錨點結構。