⚙️ YAML ↔ JSON

YAML 與 JSON 雙向轉換,實時驗證——在瀏覽器中完成

✓ 永久免費 · ✓ 無需註冊 · ✓ 檔案不上傳 · ✓ 離線可用

🔒 你的資料永遠不會離開你的裝置。 所有處理都使用 js-yaml (client-side YAML parser) 在你的瀏覽器中進行。不上傳、不經伺服器、不追蹤。

功能特色

  • 雙向轉換 — YAML 轉 JSON 和 JSON 轉 YAML 雙向支援。
  • 實時驗證 — 輸入時自動驗證格式,錯誤即時提示。
  • 複製、下載或開啟檔案 — 複製結果、以你的檔名下載,或開啟 .yaml / .yml / .json 檔案(也可以拖到輸入框)——開啟 .json 檔案會自動切換到 JSON → YAML。
  • 即時轉換 — 輸入即轉換,無需等待。

運作方式

  1. 選擇轉換方向 — 選擇 YAML → JSON 或 JSON → YAML。
  2. 貼上內容 — 貼上 YAML 或 JSON,開啟檔案,或把檔案拖到輸入框。
  3. 複製或下載 — 複製轉換結果或下載為檔案。

使用情境

  • 將 YAML 配置檔案轉為 JSON 用於程式處理
  • 編輯 Docker Compose 或 Kubernetes 配置
  • 在 CI/CD 管道配置中轉換格式

常見問題

支援 YAML 的哪些特性?

支援錨點和別名、合併鍵(<<)、多行字串,以及用 --- 分隔多個文件的檔案(會依序變成一個 JSON 陣列)。CloudFormation 的 !Ref、!Sub 這類自訂標籤不是標準 YAML,工具不會去猜它們的意思,而是告訴你是哪個標籤、在哪一行。

轉換後縮排是怎樣的?

YAML 輸出使用 2 空格縮排,JSON 輸出使用 2 空格縮排並格式化。

很長的 ID、價格或日期會被改掉嗎?

不會。兩個方向都一位不差地照抄數字——12345678901234567890 還是 12345678901234567890,1.10 還是 1.10(直接用 JavaScript 轉換會得到 12345678901234567000 和 1.1)。2024-01-15 這樣的日期保持原文,不會變成帶時區的時間戳。十六進位和八進位數(0x1F、0o14)會寫成十進位,因為 JSON 只有十進位;.inf / .nan 會變成 null,並附上說明。

重複的鍵會怎樣?

YAML 裡同一個對應中的鍵只能出現一次,所以重複會連同行號一起回報,而不是悄悄丟掉。JSON 寬鬆一些:物件裡重複的鍵會保留最後一個值(所有 JSON 解析器都這樣),頁面會列出這些重複的鍵方便你檢查。

相關工具

💬 Bug、點子,或者就想打個招呼? 告訴 Milo 🐨 · [email protected]