跳到正文
馬克工具箱

YAML 轉 JSON

把 Kubernetes 清單、Compose 檔案、CI 配置等 YAML 轉成 JSON,交給只接受 JSON 的介面和工具。錨點、別名和多行字串會被展開,語法錯誤會提示所在行號。

在瀏覽器本地執行,輸入的內容和檔案都不會上傳

YAML → JSON
輸出 (JSON)

使用步驟

  1. 在左側貼上 YAML,或點選「載入示例」。
  2. 選擇 JSON 的縮排,結果即時更新。
  3. 按提示修正錯誤,錯誤資訊包含行號。
  4. 複製或下載 JSON。

引數說明

錨點與別名
&name 定義可複用的內容塊,*name 引用它。轉成 JSON 時被引用的內容會完整複製一份。
多行字串
| 保留換行,> 把多行摺疊成空格。兩者都會變成普通 JSON 字串,保留的換行寫作 \n。
重複鍵
YAML 規定同一對映中不能出現重複的鍵,但很多解析器會默默保留最後一個。本工具會把它報為錯誤,避免問題被掩蓋。

示例

YAML:

defaults: &defaults
  retries: 3
  timeout: 30
production:
  <<: *defaults
  timeout: 60

JSON:

{
  "defaults": { "retries": 3, "timeout": 30 },
  "production": { "retries": 3, "timeout": 60 }
}

常見問題

為什麼提示縮排錯誤?

YAML 用縮排表示層級,而且不允許使用 Tab。請確保同一列表或對映中的項從同一列開始,並且只用空格縮排。

註釋會怎樣?

JSON 不支援註釋,轉換時會被丟棄。

yes/no、on/off 會怎麼轉換?

本工具遵循 YAML 1.2,只有 true 和 false 是布林值,yes、no、on、off 仍是字串。老的 YAML 1.1 解析器(包括 PyYAML)會把它們當作布林值,共享配置時建議給這些值加引號。

能轉換用 --- 分隔的多個文件嗎?

可以。每個文件會按順序成為 JSON 陣列中的一個元素。

隱私說明

本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。

相關工具