JSON 轉 YAML

把 JSON 轉成適合手改的 YAML 1.2。true 和 false 仍是布林值,單字 yes 不會被當成真。

給要手改的配置,而不是再給程式一份 JSON

Docker Compose、GitHub Actions 這類檔案用 YAML,是因為縮進好讀、也好做對比。這裡輸出 YAML 1.2:true 和 false 是布爾值,單詞 yes 仍是文字。這樣不會出現“一個叫 yes 的開關被當成真”的老問題。

怎麼用

  1. 貼上一個 JSON 值:對象、數組或單個值都可以。
  2. 縮進選 2 或 4 個空格。結果用空格,不用製表符。空格和製表符混用是 YAML 最常見的故障。
  3. 只有想讓差異對比穩定時才排序。鍵的順序本身有意義時不要排。
  4. 要變回 JSON 用 YAML 轉 JSON。你後來手寫的註釋,在那一次轉換裡留不住。

常見問題

為什麼有的字串加了引號?

看起來像布爾、數字、日期,或裡面有 : #、前導空格的值會被加上引號,避免解析器改含義。

原來的註釋能留著嗎?

不能。JSON 裡沒有註釋。先轉出 YAML,再自己加上註釋。