使用方式
- 將 JSON 貼到輸入欄,或試試範例。
- 選擇以 2 或 4 個空格縮排。
- 複製 YAML,或下載為 .yaml 檔案。
運作方式
JSON 會被嚴格解析;語法錯誤會附上行號與欄位說明(例如尾端逗號、單引號、註解等)。接著使用開放原始碼 YAML 程式庫將資料寫成區塊風格 YAML,保留鍵的順序,且不會將長字串自動換行。
某些在舊版 YAML 1.1 解析器下可能被解讀成其他型別的字串,會加上引號:yes、no、on、off、像 0777 這類有前導零的數字,以及像 2024-01-31 的日期值。這樣無論用哪一種解析器讀取,YAML 的意義都相同。多行字串會以保留換行的方式寫入。
JSON 的數字、布林值與 null 會直接對應到 YAML。若要反向轉換,可使用 YAML 轉 JSON,或雙向 JSON ⇄ YAML 轉換器。
範例
Kubernetes 清單
貼上 kubectl get -o json 輸出的 JSON,即可取得同一物件的 YAML,方便編輯與套用。
必須保持為字串的值
{"enabled": "on", "mode": "0755"} 會變成 enabled: "on" 與 mode: "0755",因此兩者都不會被解讀成布林值或八進位數字。
常見問題
為什麼有些值會加上引號?
因為若不加引號,某些 YAML 解析器會將它們解讀成布林值、數字或日期。加上引號可讓它們保持為字串。
可以轉換含註解的 JSON 嗎?
不行。註解不是有效的 JSON;錯誤訊息會指出註解的位置,方便你移除。
鍵的順序會保留嗎?
會。鍵會依照 JSON 中的順序寫入。
隱私權
轉換完全在您的瀏覽器中執行,您的 JSON 與 YAML 不會上傳或儲存。