JSON to YAML Converter
Convert JSON structure to clean YAML format. Ideal for Kubernetes manifests and cloud configs.
Convert JSON structure to clean YAML format. Ideal for Kubernetes manifests and cloud configs.
從 JSON 到 YAML 主要是為了讓資料對人類更具可讀性。兩種格式都描述相同類型的結構——物件/映射、陣列/序列、標量——但 YAML 基於縮排的語法、可選引用和對註釋的支援使得手動掃描和編輯變得更容易。設定檔是典型的用例:Kubernetes 清單、CI 工作流程、Ansible playbook 和許多其他工具專門選擇 YAML,因為它們的主要編輯者是人類。
此轉換器使用 js-yaml 將解析後的 JSON 物件序列化為 YAML。結果在應用 YAML 約定時準確地保留了資料的結構:嵌套縮排、陣列列表、物件屬性的鍵值對。 JSON嚴格的雙引號被放寬了;僅包含特殊字元或看起來像其他類型的字串在輸出中被引用。
轉換是保留訊息的,除非 YAML 增加了 JSON 所沒有的表達能力。註釋無法重建(JSON 沒有)。錨點和別名引用可能會壓縮重複的結構,但不會自動產生;輸出將所有引用內聯展開。
對於人類編輯配置而言,YAML 比 JSON 更具可讀性。縮排取代了大括號嵌套,對於簡單字串,引號是可選的,註釋可以記錄不明顯的設定。對於人類維護的檔案(應用程式配置、基礎設施即程式碼、建置管道),YAML 幾乎總是正確的目標格式。
現代基礎設施工具絕大多數都支援 YAML。 Kubernetes、Helm 圖表、Ansible、GitHub Actions、GitLab CI、Docker Compose 和許多其他工具更喜歡或需要 YAML。將一個系統的 JSON 匯出轉換為另一個系統的 YAML 設定是常規整合步驟。
貼上 JSON,取得 YAML。
js-yaml 的轉儲函數遍歷 JavaScript 物件樹並使用可設定的格式發出 YAML。縮排深度、線寬、流程樣式閾值和引號處理都是參數。預設設定產生帶有 2 個空格縮排的區塊樣式 YAML,這是最常見的約定。
字串引用遵循 YAML 的規則:看起來像其他類型(數字、布林值、null、日期)的字串被引用以強製字串解釋;包含特殊字元(冒號、散列、前導破折號)的字串被引用;簡單的字母字串不加引號。
輸出與 YAML 1.2 相容,並可使用 js-yaml、PyYAML 和其他主要 YAML 程式庫進行清晰解析。冪等往返(JSON→YAML→JSON)保留數據,儘管 YAML 表示選擇的規範格式可能與手寫的等效格式不同。