JSON 轉 YAML

本地處理
app.yaml.view

也可透過 #data={"name":"Ada"}#url=... 灌入資料,讀完即從位址列清除。

JSON 適合介面,YAML 更常見於 Kubernetes、CI 和本地配置。本頁在瀏覽器裡做雙向轉換,避免把整份清單傳到線上轉換站。方向可切換:JSON → YAML 便於閱讀編輯,YAML → JSON 便於程式消費。

雙向

左邊貼 JSON 得到 YAML,也可以貼 YAML 得到 JSON。轉換後請抽查縮排和型別(例如 YAML 裡的 on / off 可能被當成布林)。

複雜錨點、多文件等高階 YAML 特性當前支援有限。

給配置用

Deployment、docker-compose 一類檔案改完再轉回 JSON 校驗。介面 mock 用 JSON,部署清單用 YAML,中間用本頁銜接。

轉換完成後建議在目標環境做一次冒煙,確認行為與手寫檔案一致。

註釋

轉到 JSON 時 YAML 註釋無法保留,這是格式本身的限制。重要說明請寫在倉庫文件裡。

從 JSON 轉到 YAML 也不會憑空長出註釋。

示例

JSON
{
  "apiVersion": "apps/v1",
  "kind": "Deployment",
  "metadata": { "name": "json-toolbox" }
}
YAML
apiVersion: apps/v1
kind: Deployment
metadata:
  name: json-toolbox
縮排錯了會怎樣?

YAML 對縮排敏感,解析失敗時請先檢查空格。轉成 JSON 後再格式化,往往更容易看出結構。

和 JSON5 怎麼選?

要註釋且仍接近 JSON 語法,用 JSON5;要給 K8s / Ansible 用,用 YAML。

需要點「執行轉換」嗎?

需要。本頁不像格式化那樣輸入即處理,改完方向或內容後請再點一次轉換。

鍵順序會變嗎?

可能和手寫 YAML 不完全一致,但不影響語義。對順序敏感的流程請自行核對。

推薦工作流

  1. 選好方向:JSON → YAML 或 YAML → JSON。
  2. 貼上原始檔,點「執行轉換」,必要時下載結果。
  3. YAML 側檢查縮排;JSON 側再用校驗頁確認。
  4. 在 K8s / CI 裡跑一次,確認與轉換前行為一致。

轉換前保留原檔案備份。錨點、merge key 等複雜 YAML 請用專用工具或手工處理。