所有指南
資料

YAML 轉 JSON:保留你想要的換行

管線符號、大於符號和減號會產生不同的字串。五個小範例說明原因。

YAML 段落在你編輯器裡看起來是兩行,但在 JSON 裡可能變成一行。鍵後面那個字元決定了換行要怎麼被解讀;減號則決定最後一個換行要不要保留。

開啟 CSV、JSON 與 YAML 轉換器,貼上這個範例,在 從 選擇 YAML,在 至 選擇 JSON:

literal: |
  Ready to share.
  Check the link.
folded: >
  Ready to share.
  Check the link.
literal_strip: |-
  Ready to share.
  Check the link.
folded_strip: >-
  Ready to share.
  Check the link.

先看輸出,再改文字

轉換器會產生這四個字串:

{
  "literal": "Ready to share.\nCheck the link.\n",
  "folded": "Ready to share. Check the link.\n",
  "literal_strip": "Ready to share.\nCheck the link.",
  "folded_strip": "Ready to share. Check the link."
}

在 JSON 原始碼中,\n 代表字串內的換行。它不是多餘的反斜線,解析 JSON 後讀者不會看到它。引號外的縮排只是讓 JSON 比較好讀,不會改變字串內容。

如果要寫兩行的說明文字,第三個版本通常比較實用。如果是一句話在設定檔裡被折成兩行,第四個版本可以把它們合在一起,而且結尾沒有換行。

分開選擇區塊樣式和結尾方式

YAML 標記 一般文字行之間 這個範例的結尾
| 保留換行 保留一個結尾換行
> 折疊成空格 保留一個結尾換行
|- 保留換行 移除結尾換行
>- 折疊成空格 移除結尾換行

這些規則描述的是像這個範例的非空區塊。YAML 把結尾規則稱為「chomping」;區塊純量規格 也定義了加號用來保留結尾的空行。

折疊不會消除所有換行。空行和縮排更多的行有各自的規則。在轉換訊息、提示詞或 shell 指令之前,先用小範例測試,因為這些內容的空格很重要。

空行仍然分隔段落

這個範例使用折疊文字,但包含一個空行:

paragraphs: >-
  First paragraph.

  Second paragraph.

轉換後的值是:

{
  "paragraphs": "First paragraph.\nSecond paragraph."
}

兩個段落之間有一個換行,不是空格,也不是兩個換行。如果你需要精確的空行,請使用字面區塊,並檢查產生的字串。

區塊內容要用空格縮排在鍵的下方。把某一行往左移可能會結束區塊,或讓文件變成無效。文件壞掉時應該修正來源,而不是靠移除所有空白來「修好」。

如果註解重要,保留 YAML

下載 完整 YAML 範例 和它的 轉換後 JSON。範例包含上述五種情況。

轉換保留的是解讀後的值,不是 YAML 原本的呈現方式。註解、區塊樣式標記和別名記號不會保留在 JSON 中。如果你之後還要編輯設定,請保留原始 YAML;轉換回來不會還原那些細節。

2026 年 10 月 12 日,我們把可下載的檔案透過工具的轉換功能處理,並檢查了每個字串,包括結尾換行。結果檔案 記錄了預期值和下載雜湊。工具是在你的瀏覽器本地轉換,但與他人分享設定時,還是應該使用清理過的範例。