[{"data":1,"prerenderedAt":217},["ShallowReactive",2],{"page-zh-TW":3,"article-list-zh-TW":127,"article-zh-TW-yaml-indentation-and-line-width":149},{"id":4,"title":5,"body":6,"description":17,"extension":18,"faqLabel":19,"faqTitle":20,"faqs":21,"footerFree":40,"footerLocal":41,"footerNavigate":42,"footerOutput":43,"footerTagline":44,"intro":45,"kicker":46,"limits":47,"limitsIntro":60,"limitsLabel":61,"limitsTitle":62,"mappingIntro":63,"mappingLabel":64,"mappingNoteLabel":65,"mappingTitle":66,"mappings":67,"meta":92,"navigation":93,"notes":94,"notesLabel":104,"notesTitle":105,"path":106,"seo":107,"seoTitle":108,"stem":109,"useCases":110,"useCasesIntro":123,"useCasesLabel":124,"useCasesTitle":125,"__hash__":126},"pages\u002Fzh-tw\u002Findex.md","JSON 轉 YAML 轉換器",{"type":7,"value":8,"toc":13},"minimark",[9],[10,11,12],"p",{},"將有效 JSON 轉為易讀 YAML，整個過程只在目前瀏覽器分頁中完成。",{"title":14,"searchDepth":15,"depth":15,"links":16},"",2,[],"在瀏覽器中將有效 JSON 轉為易讀 YAML。可選擇縮排和行寬，無需上傳即可複製或下載。","md","常見問題 \u002F 05","產生 YAML 檔案前需要了解的事",[22,25,28,31,34,37],{"question":23,"answer":24},"JSON 會傳送到伺服器嗎？","不會。JSON 解析和 YAML 產生都在瀏覽器中完成，本機檔案使用 File API 讀取。",{"question":26,"answer":27},"YAML 會保留 JSON 資料類型嗎？","字串、數字、布林值、null、陣列和物件都會在 YAML 中表示；讀取端仍可能套用自己的 schema。",{"question":29,"answer":30},"可以選擇縮排嗎？","可以。轉換器支援兩個或四個空格，以及多種換行寬度。",{"question":32,"answer":33},"為什麼輸出的鍵順序不變？","JavaScript 通常保留 JSON 插入順序，本工具不會依字母重新排序。",{"question":35,"answer":36},"轉換器會加入 YAML 註解或錨點嗎？","不會。JSON 沒有註解、錨點、別名或自訂標籤，轉換器無法推斷這些資訊。",{"question":38,"answer":39},"JSON 轉 YAML 可以完全還原嗎？","支援的資料值通常可以再次轉換回來，但引號、空格、換行方式與註解無法恢復成原始格式。","免費使用","不儲存在伺服器","導覽","輸出","在瀏覽器本機產生易讀設定的 JSON 轉 YAML 工具。","將嚴格的 JSON 轉換成適合檢閱、編輯及設定檔使用的 YAML。","移除大括號，讓設定更易讀",[48,51,54,57],{"title":49,"body":50},"無法自動產生註解","JSON 本身沒有註解標記，因此轉換器無法可靠推斷 YAML 說明。需要時請在轉換後人工補充。",{"title":52,"body":53},"重複鍵在解析後已消失","解析後的 JSON 物件不能同時保留兩個同名屬性。使用轉換結果前應先驗證原始輸入。",{"title":55,"body":56},"超大數字可能失去精度","JSON 數字依 JavaScript 數值行為解析。識別碼和高精度整數應在來源中使用字串。",{"title":58,"body":59},"往返轉換會改變排版","支援的資料值通常可以保留，但引號、空格、換行寬度與註解不會恢復成原始形式。","產生的 YAML 表示解析後的 JSON 值，而非逐字複製原始文字。將檔案提交為設定前，請先了解這些限制。","往返轉換 \u002F 04","易讀輸出仍需要檢查","JSON 的資料類型精簡且明確。YAML 能以較少標點表示相同的物件、陣列、字串、數字、布林值與 null。","類型對應 \u002F 03","轉換結果","從 JSON 值到易讀 YAML",[68,72,76,80,84,88],{"json":69,"yaml":70,"note":71},"\"name\": \"Ada\"","name: Ada","安全的字串可以省略引號；可能產生歧義時，序列化器會自動加上引號。",{"json":73,"yaml":74,"note":75},"\"enabled\": true","enabled: true","JSON 布林值會繼續使用小寫 true 或 false。",{"json":77,"yaml":78,"note":79},"\"count\": 42","count: 42","JSON 數字維持數字類型，但已經過 JavaScript 數值解析。",{"json":81,"yaml":82,"note":83},"\"items\": [\"a\", \"b\"]","items → - a \u002F - b","陣列會轉為 YAML 序列，並維持項目順序。",{"json":85,"yaml":86,"note":87},"\"value\": null","value: null","JSON null 會明確寫成 YAML null，避免與缺少鍵混淆。",{"json":89,"yaml":90,"note":91},"\"meta\": {\"id\": 7}","meta → id: 7","物件會轉成 YAML 對應，通常維持屬性插入順序。",{},true,[95,98,101],{"title":96,"body":97},"JSON 必須先有效","註解、尾隨逗號、undefined 及 JavaScript 物件字面量會被拒絕，不會被靜默修正。",{"title":99,"body":100},"輸出格式可自行選擇","兩種縮排及常用行寬可涵蓋一般 YAML 風格，又不會讓工具變成複雜 IDE。",{"title":102,"body":103},"有些資訊無法恢復","JSON 不含註解、錨點、自訂標籤或原始 YAML 排版，轉換器無法憑空重建。","轉換說明 \u002F 02","從大括號改為縮排時會發生什麼","\u002Fzh-tw",{"title":5,"description":17},"JSON 轉 YAML 線上轉換器 — 產生清晰的 YAML","zh-tw\u002Findex",[111,115,119],{"title":112,"body":113,"code":114},"應用程式設定","將產生的 JSON 設定轉為以 YAML 為主的應用程式、CLI 或服務設定。","app.yaml",{"title":116,"body":117,"code":118},"CI 與部署檔案","從機器產生的 JSON 建立容易閱讀與維護的流程或部署清單。","pipeline.yml",{"title":120,"body":121,"code":122},"測試資料與文件","以更精簡的格式呈現巢狀範例，方便讀者瀏覽及加上說明。","example.yaml","JSON 適合機器交換；設定需要由人閱讀及修改時，YAML 往往更清楚。","使用情境 \u002F 01","YAML 適合成為團隊維護的設定","CLlCWu0gjrFS0mRmEWf3ODMbMmuUKBv7RNG3k1D3FqA",[128,133,137,141,145],{"slug":129,"title":130,"description":131,"eyebrow":132},"fix-invalid-json-before-yaml","轉換為 YAML 前如何修復無效 JSON","在產生 YAML 前排查尾隨逗號、單引號、註解和未閉合的括號。","技術指南",{"slug":134,"title":135,"description":136,"eyebrow":132},"json-to-yaml-configuration","將 JSON 轉換為 YAML 設定檔","把 JSON 轉換成易讀的 YAML，並在用於設定前核對類型、欄位、密鑰和相容性。",{"slug":138,"title":139,"description":140,"eyebrow":132},"json-vs-yaml","JSON 與 YAML：語法和使用情境","比較 JSON 和 YAML 的類型、註解、縮排，以及結構化資料轉換時的取捨。",{"slug":142,"title":143,"description":144,"eyebrow":132},"preserve-json-types-in-yaml","產生 YAML 時保留 JSON 資料類型","了解轉換時如何保留字串、數字、布林值、null、陣列和物件。",{"slug":146,"title":147,"description":148,"eyebrow":132},"yaml-indentation-and-line-width","YAML 縮排與行寬設定","在不改變物件和陣列層級的前提下，產生易讀且穩定的 YAML。",{"id":150,"title":147,"body":151,"description":148,"extension":18,"eyebrow":132,"faqs":155,"intro":165,"meta":166,"navigation":93,"path":167,"relatedGuides":168,"sections":169,"seo":211,"seoTitle":212,"slug":146,"stem":213,"type":214,"updated":215,"__hash__":216},"articles\u002Fzh-tw\u002Farticles\u002Fyaml-indentation-and-line-width.md",{"type":7,"value":152,"toc":153},[],{"title":14,"searchDepth":15,"depth":15,"links":154},[],[156,159,162],{"question":157,"answer":158},"處理YAML 縮排與行寬會改變原始資料嗎？","若操作只改變表示方式，資料含義原則上不應改變；但解析器可能展開別名、正規化數字、移除註解或選擇不同文字風格。應比較解析結構並核對目標系統規則。",{"question":160,"answer":161},"如何驗證結果可靠？","條件允許時，分別解析操作前後的內容、比較鍵名和值型別，再把結果交給真實目標程式測試。只靠肉眼比較可能漏掉 null、數字、布林值、編碼或重複鍵差異。",{"question":163,"answer":164},"哪些情況不適合自動轉換？","當來源使用實作專屬擴充、重複鍵、自訂標籤、承載維運資訊的註解，或包含無法安全表示的高精度數字時，不應無人監督地自動轉換。","縮排在 YAML 中直接表達結構。統一風格有助於審查，也能避免無意義的格式差異。",{},"\u002Fzh-tw\u002Farticles\u002Fyaml-indentation-and-line-width",[134,142,138],[170,175,180,185,194,200,205],{"title":171,"paragraphs":172},"保持縮排一致",[173,174],"兩個空格是常見選擇，也能保持檔案精簡。不要使用定位字元定義結構層級。","序列項目應對齊，巢狀內容應再縮排一層。",{"title":176,"paragraphs":177},"合理處理行寬",[178,179],"拆分長行可能改善閱讀，但折疊區塊和文字區塊的語意不同。","如果目標系統依賴精確換行，不要自動換行字串。",{"title":181,"paragraphs":182},"保持差異清楚",[183,184],"專案中應固定使用同一套序列化設定，讓程式碼審查聚焦資料變化而不是格式變化。","執行格式化工具後仍應重新驗證 YAML。",{"title":186,"paragraphs":187,"bullets":190},"可靠的逐步處理流程",[188,189],"應把YAML 縮排與行寬視為一次具明確輸入、預期結構與目標系統的資料轉換。先複製原文，在改變表示方式前完成驗證，再擷取一個足以重現問題的最小範例。如此才能區分語法錯誤與資料模型或應用程式錯誤。","每次只做一項修改，並在每次修改後重複相同驗證。自動化流程遇到解析錯誤時應直接失敗，不能發布殘缺或推測修正的結果。需要稽核時，應同時保留原始輸入與產生的檔案。",[191,192,193],"先選取具代表性的輸入並保留原始副本，以便審查差異或重複執行轉換。","不要只看呈現後的文字，還要檢查解析結構；鍵名、純量型別、陣列順序與 null 才是下游程式真正收到的資料。","在真實目標系統中測試結果，並記錄專案依賴的解析器、結構描述、編碼與格式假設。",{"title":195,"paragraphs":196,"code":199},"實例與驗證方法",[197,198],"下方範例刻意保持簡短，方便逐項核對。處理真實檔案時也應檢查每個鍵、純量型別、陣列順序與巢狀邊界，而不是只確認頁面顯示成功。","轉換或精簡成功只能證明來源文字可以解析。還應比較操作前後的結構化值，並用正式環境真正採用的程式庫或平台重新讀取結果，才能找出實作差異。","service:\n  environment:\n    LOG_LEVEL: info\n    RETRIES: \"3\"",{"title":201,"paragraphs":202},"限制與邊界情況",[203,204],"YAML 縮排與行寬的難點通常來自「語法有效」與「實際可用」之間的差異。解析器接受的資料仍可能缺少欄位、含義模糊、體積過大，或不符合目標系統的結構描述。","不要盲目修正或正規化陌生檔案。重複鍵、隱含型別、別名、數字精度、Unicode、換行符號與超大輸入都需要明確政策；目標系統規則較嚴格時，應以目標規則為準。",{"title":206,"paragraphs":207,"bullets":210},"正式環境檢查清單",[208,209],"發布前至少測試正常文件、空值、深層巢狀資料、非 ASCII 文字，以及一個刻意損壞的範例。若其他系統必須重現完全相同的輸出，還應記錄工具或相依程式庫版本。","當資料參與建置、部署、API 或設定時，應把驗證加入持續整合。上線前審查差異並保留回復副本，上線後觀察第一個實際使用端，不能把「語法通過」等同於「運作正確」。",[191,192,193],{"title":147,"description":148},"JSON 轉換後的 YAML 縮排與行寬","zh-tw\u002Farticles\u002Fyaml-indentation-and-line-width","guide",null,"QYQW3OvthwkPxoT8WcdOVsvKl0941zpY6SD7nS127Qs",1791974047443]