YAMLからJSONへ:意図した改行を保持
パイプ、大なり記号、マイナス記号は異なる文字列を生成します。5つの小さな例でその理由がわかります。
YAMLの段落は、エディタでは2行に見えてもJSONでは1行になることがあります。キーの後の文字が、その改行の読み方を決めます。マイナス記号は、最後の改行を残すかどうかを決めます。
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.
テキストを変更する前に出力を確認する
コンバーターは次の4つの文字列を生成します:
{
"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を読みやすくするだけで、その文字列を変更するものではありません。
2行のキャプションには、3番目のバージョンが役立つことがよくあります。設定ファイルで1文を2行に折り返す場合は、4番目が最後の改行なしでまとめてくれます。
ブロックスタイルと終端を別々に選ぶ
| YAMLマーカー | 通常のテキスト行の間 | このサンプルの末尾 |
|---|---|---|
| |
改行を保持 | 最後の改行を1つ保持 |
> |
改行をスペースに折りたたむ | 最後の改行を1つ保持 |
|- |
改行を保持 | 最後の改行を削除 |
>- |
改行をスペースに折りたたむ | 最後の改行を削除 |
これらのルールは、このサンプルのような空でないブロックを説明しています。YAMLでは終端ルールを「チョンピング」と呼びます。ブロックスカラーの仕様では、末尾の空行を保持するためのプラス記号も定義されています。
折りたたみはすべての改行を消すわけではありません。空行や、通常の本文より深くインデントされた行には別のルールがあります。メッセージ、プロンプト、シェルコマンドなど、スペースが重要なものを変換する前に、小さなテストを行ってください。
空行は段落を区切る
この例は折りたたみテキストを使っていますが、空行を含みます:
paragraphs: >-
First paragraph.
Second paragraph.
変換後の値は次のとおりです:
{
"paragraphs": "First paragraph.\nSecond paragraph."
}
2つの段落の間には改行が1つあります。スペースでも2つの改行でもありません。正確な空行が必要な場合は、リテラルブロックを使用し、結果の文字列を確認してください。
ブロックの内容は、キーの下にスペースでインデントしてください。行を左に移動すると、ブロックが終了したり、ドキュメントが無効になったりする可能性があります。壊れたドキュメントは、すべての空白を削除して「修正」するのではなく、ソースで修正する必要があります。
コメントが重要な場合はYAMLを保持する
完全なYAMLサンプルとその変換済みJSONをダウンロードしてください。サンプルには上記の5つのケースがすべて含まれています。
変換は解釈された値を保持し、YAMLの元の表現は保持しません。コメント、ブロックスタイルのマーカー、エイリアス表記はJSONに保持されません。設定を再度編集する場合は、元のYAMLを保持してください。変換し直しても、これらの詳細は復元されません。
2026年10月12日に、ダウンロード可能なファイルをツールの変換機能で実行し、最後の改行を含むすべての文字列を確認しました。結果ファイルには、期待値とダウンロードハッシュが記録されています。ツールはブラウザ内でローカルに変換されますが、設定を他の人と共有する場合は、個人情報や秘密情報を除いたサンプルを使用してください。