YAML to JSON Converter
Fast and secure YAML to JSON conversion. Perfect for configuration files and data analysis.
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 語法,包括流樣式、區塊樣式、標量、序列、映射、錨點、別名和標準標記類型。
大多數 API 和許多程式設計環境都需要 JSON。當與僅接受 JSON 的程式碼或服務整合時,用 YAML 編寫的設定檔需要轉換為 JSON。 JSON 的工具也更加豐富:jq、JSON Path、JSON Schema 以及廣泛的驗證器和轉換器生態系統都採用 JSON 輸入。
JSON 也很明確,而 YAML 則不然。 YAML 的靈活性帶來了解析驚喜——YAML 1.1 中的「no」等字串解析為布林值 false,版本字串解析為浮點數,縮排錯誤會產生無聲的結構變更。轉換為 JSON 會將資料凍結為更明確的形式。
貼上 YAML,取得 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 中的重複值。