免費轉換器

YAML to JSON Converter

Fast and secure YAML to JSON conversion. Perfect for configuration files and data analysis.

關於此工具

YAML 和 JSON 是密切相關的格式 - JSON 從技術上講是 YAML 1.2 的嚴格子集 - 並且它們之間的轉換通常很簡單。 YAML 增加了 JSON 所缺乏的人性化功能:註釋、無需轉義的多行字串、錨點和別名引用、更靈活的引用以及類似於自然文件佈局的基於縮進的結構。這使得 YAML 成為設定檔(Kubernetes 清單、GitHub Actions 工作流程、Docker Compose)的流行選擇,而 JSON 則主導 API 負載。

將 YAML 轉換為 JSON 通常意味著放棄 YAML 的人性化附加功能,以換取機器更容易解析的格式,這就是 HTTP API 的通用語言。註釋被刪除(JSON 沒有)。錨引用被解析為其引用值。多行字串折疊為帶有嵌入換行符的標準 JSON 字串。

此轉換器使用 js-yaml 解析 YAML,js-yaml 是 JavaScript 中使用最廣泛的 YAML 函式庫。輸出是使用帶有可選縮排的 JSON.stringify 產生的。此轉換處理所有標準 YAML 1.2 語法,包括流樣式、區塊樣式、標量、序列、映射、錨點、別名和標準標記類型。

為什麼要將 YAML 轉換為 JSON

大多數 API 和許多程式設計環境都需要 JSON。當與僅接受 JSON 的程式碼或服務整合時,用 YAML 編寫的設定檔需要轉換為 JSON。 JSON 的工具也更加豐富:jq、JSON Path、JSON Schema 以及廣泛的驗證器和轉換器生態系統都採用 JSON 輸入。

JSON 也很明確,而 YAML 則不然。 YAML 的靈活性帶來了解析驚喜——YAML 1.1 中的「no」等字串解析為布林值 false,版本字串解析為浮點數,縮排錯誤會產生無聲的結構變更。轉換為 JSON 會將資料凍結為更明確的形式。

使用方法

貼上 YAML,取得 JSON。

  1. 新增您的 YAML: 將 YAML 文字貼到輸入區域或拖放 .yml/.yaml 檔案。 js-yaml 接受完整的 YAML 1.2 語法。
  2. 轉換: js-yaml 將 YAML 解析為 JavaScript 對象,然後 JSON.stringify 使用兩個空格縮排對其進行序列化。註解被刪除,錨點被解析,特殊的 YAML 類型(時間戳、二進位資料)被轉換為 JSON 相容的表示形式。
  3. 查看結果: 確認 JSON 結構符合您的預期。與來源 YAML 進行比較,以發現 YAML 的鬆散類型產生意外 JSON 值的任何位置。
  4. 下載或複製: 另存為 .json 或複製到剪貼簿。輸出是任何 JSON 解析器都可以使用的有效 JSON。

常見用例

技術細節

js-yaml 實作 YAML 1.2,並可選支援 YAML 1.1 怪癖(「no」-as-false 問題,沒有 0o 前綴的八進位數字)。解析器使用本機型別產生 JavaScript 物件樹:數字、字串、布林值、null、陣列和普通物件。

JSON.stringify 將物件樹序列化為 JSON。可選的縮排可產生漂亮的列印輸出;如果沒有它,結果是緊湊的單行 JSON。特殊值(NaN、無窮大、未定義)不是有效的 JSON;轉換器將它們強制為 null(如果存在)。

邊緣情況:YAML 時間戳變成 JSON 中的 ISO-8601 字串。 YAML 二進位資料(base64 編碼)變成字串。由於 JSON 沒有引用語法,因此錨點和別名會解析為 JSON 中的重複值。

最佳實踐

常見問題

將 YAML 轉換為 JSON 會改變內容嗎?
盡可能準確地保留內容。但是,某些特定於格式的功能可能沒有直接等效項,因此可能會出現細微的格式差異。
為什麼要將資料轉換為 JSON 格式?
JSON 是 Web API 和 JavaScript 應用程式的標準資料格式。它是人類可讀的,受到程式語言的廣泛支持,並且具有比 XML 更簡單的語法。
轉換器是否處理巢狀或複雜的 YAML 結構?
是的。該工具可以正確解析巢狀物件、陣列和所有標準 YAML 資料類型,從而在 JSON 輸出中保留完整的資料結構。
此轉換安全且私密嗎?
是的。所有處理都在您的瀏覽器本地進行。您的資料永遠不會離開您的裝置 - 沒有伺服器上傳,沒有雲端處理,沒有資料收集。
我的 YAML 往返是否乾淨?
如果您將 JSON 重新傳送回 YAML,則結構上是肯定的。評論和錨點結構丟失;原始值被保留。
我的數據是否上傳到伺服器?
不會。 js-yaml 在您的瀏覽器中運作。
最大尺寸是多少?
最大 50 MB。 js-yaml 立即處理典型的設定檔;非常大的 YAML 可能需要花費大量時間來解析。
它支援多重文件 YAML 嗎?
YAML 支援一個文件中的多個文檔,以 --- 分隔。轉換器預設處理第一個文件;對於多文件處理,首先拆分 YAML。