YAML 轉 JSON
將 YAML 資料轉換為 JSON。可在瀏覽器中即時把 Kubernetes 清單、docker-compose.yml、CI 配置檔案等 YAML 結構,轉換成 jq 等僅支援 JSON 的工具可以處理的格式。
使用小貼士
- 直接貼上 Kubernetes 清單或 docker-compose.yml,即可將其結構視覺化為 JSON,方便 jq 等僅支援 JSON 的命令列工具進行查詢。
- 以零開頭的郵政編碼、電話號碼等值如果不加引號,會被解析為數字並丟失開頭的零,需要保留為字串的值請務必加上引號。
- 本工具不支援使用錨點(`&`)、別名(`*`)或 `|`、`>` 塊狀標量等高階寫法的複雜 YAML,請先改寫為簡單形式再貼上。
- 取消勾選"格式化顯示"即可得到不含換行的單行 JSON,適合貼上到不希望包含換行符的 API 請求體中。
常見問題
當你想用 jq 等僅支援 JSON 的命令列工具查詢或處理 Kubernetes 清單、CI 配置檔案時,或者某個 API、指令碼只接受 JSON 而無法直接讀取 YAML 時,先轉換成 JSON 會很方便。
不支援。本工具是僅覆蓋常用寫法(對映、序列、基本標量)的輕量解析器,因此用於值複用的錨點、別名,以及多文件流、`|`/`>` 塊狀標量等功能均不在支援範圍內。
最常見的原因是縮排不一致,例如同一層級的專案空格數量不統一,或使用了製表符(Tab)而非空格進行縮排。此外,`key: value` 中冒號後面缺少空格也會導致解析失敗。
本工具目前僅支援 YAML 轉 JSON 這一方向。如果需要單獨格式化或校驗 JSON、YAML,請使用本站的其他格式化工具。
閒話 ― 為什麼配置檔案用 YAML 寫,工具卻要 JSON
YAML 因為可以寫註釋、引號也大多可以省略,可讀性很高,因此被廣泛用作 Kubernetes、docker-compose、GitHub Actions 工作流、Ansible playbook 等需要人工直接編輯的配置檔案格式。相比之下,JSON 的規範簡單明確,幾乎沒有歧義,程式處理起來更加機械化,因此成為了 API 資料交換以及 jq 等命令列工具的標準輸入格式。
YAML 轉 JSON 正是為了彌合"人寫 YAML、工具要 JSON"這一差距而存在的。尤其是 Kubernetes 的清單檔案常常長達數百行,僅靠 `grep` 查詢特定值很快就會遇到瓶頸。先轉換成 JSON 後再用 jq 查詢,就能用類似 `.spec.containers[].image` 的路徑瞬間取出所需的值。
不過完整的 YAML 規範(YAML 1.2)範圍非常廣,包含通過錨點、別名實現值複用、多文件流、用於多行字串的塊狀標量等許多高階功能。本工具刻意不覆蓋這些全部規範,而是聚焦於實際工作中最常出現的對映、序列與基本標量這一"常用子集",從而實現了無需外部依賴的簡潔實現。