JSON ↔ YAML 互轉
JSON ↔ YAML 互轉
JSON ↔ YAML 互轉支援 JSON 與 YAML 雙向轉換,可並排編輯並即時同步,適合 Kubernetes、Helm、CI 設定和 API 除錯。
JSON 縮排
YAML 縮排
依字母排序鍵
將陣列拆分為多文件 YAML(--- 分隔)
JSON
⇄
YAML
快速開始
常見使用情境
Kubernetes 設定編寫
將 YAML 格式的 K8s 資源定義轉為 JSON 檢視結構,或反向操作
Helm Values 偵錯
將 values.yaml 轉換為 JSON 以便在 IDE 中檢查類型和巢狀層級
CI/CD 管線
在 GitHub Actions(YAML)和其他 CI 系統(JSON)之間快速轉換設定片段
API 偵錯
將 JSON 格式的回應體轉為 YAML 以獲得更直覺的層級展示
設定遷移
在 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 才會被視為布林值。如果你的 YAML 來自舊版解析器,可能已經遵循了 1.1 規則。解決方法:用引號包裹值(如 "yes")即可保留為字串
JSON 規範(RFC 8259)不支援註釋,這是設計者 Douglas Crockford 的有意決定-他認為註釋會被濫用於解析指令,影響互通性。因此 YAML→JSON 轉換必然會遺失註釋,反向轉換也無法還原。如需保留註釋,建議保存一份 YAML 原始文件
--- 是 YAML 的文件分隔符,用於在一個檔案中包含多個獨立的 YAML 文件。這在 Kubernetes 中非常常見-一個 YAML 檔案可以用 --- 分隔多個資源定義(如 Deployment + Service + ConfigMap)。本工具會將多個 YAML 文檔轉換為一個 JSON 數組,每個文檔對應數組中的一個元素;反向則可開啟「多文檔 YAML」選項將 JSON 數組拆分為 --- 分隔的多個文檔
JavaScript 使用 IEEE 754 雙精度浮點數,安全整數範圍為 -(2⁵³-1) 到 2⁵³-1(即 ±9007199254740991)。超出此範圍的整數在轉換時會失去精確度。常見場景:雪花 ID、64 位元時間戳記等。解決方法:將大整數用引號包裹為字串(如 "9007199254740992")以避免精確度損失
YAML 錨點(&name)和引用(*name)是 YAML 獨有的複用機制,用來避免重複定義相同內容。轉為 JSON 後,所有引用會被展開為完整的內容副本,因為 JSON 沒有引用機制。這意味著轉換是有損的-反向轉換無法還原原始的錨點結構