Yueseryueser.com

← ガイド一覧

複数行のテキストに引用符を付ける方法:JSON と CSV の違い

コードや JSON の配列、チャットの返信に入れるテキストには前後の引用符が必要です。行ごとに引用符を付け、内側の引用符をエスケープすれば、対応が取れているか悩まずに済みます。

ツールを開く:引用符の付与

揃った引用符が必要な場面

テストデータを作るとき、地名の列を JSON 配列の要素に変えることがあります。手で引用符を付けると必ず 1 か所は漏れ、1 か所でも漏れると JSON.parse が失敗し、どの行が欠けているかを探す作業が発生します。

もう一つは、引用文を文書や返信に貼るときに開始と終了を明示したい場合、あるいは複数の文をコードの文字列配列に入れる場合です。行内の二重引用符をエスケープしないと文字列が途中で終わり、以降のコードが構文エラーになります。

行ごとに処理し、JSON 形式でエスケープする

処理は行単位です。空でない行の前後にストレートクォートを 1 つずつ付け、行内の二重引用符はバックスラッシュと引用符に置き換え、空行は空のまま残します。3 段落なら 3 行がそれぞれ引用符で囲まれ、段落全体が 1 対で囲まれるわけではありません。

この方式は JSON と多くのプログラミング言語の文字列と同じですが、CSV とは異なります。CSV はフィールド内の引用符を 2 つ重ねて表し、バックスラッシュは使いません。そのまま CSV に貼るとフィールドの境界が崩れます。

できないことと、代わりの方法

付くのはストレートクォートだけです。単一引用符、かぎ括弧「」、湾曲した引用符は選べず、特定の行だけに付けることもできません。改行はエスケープシーケンスに変換されないため、複数行の文章が 1 つの正しい JSON 文字列になることはなく、各行が別の文字列になります。

段落全体を 1 対で囲みたいときは、先に改行を結合してから付けます。CSV のフィールドが必要なら表計算ソフトから書き出すほうが確実です。JavaScript のテンプレートリテラルはバッククォートとドル記号の扱いも必要で、このツールの範囲外です。

よくある質問

日本語のかぎ括弧や湾曲した引用符も付けられますか?

いいえ、付くのはストレートクォートだけです。かぎ括弧や湾曲した引用符は組版用の記号で、コードや JSON、CSV ではストレートクォートが必要です。必要な場合は変換後に手で置き換えてください。

複数行のテキストはどうなりますか?

各行が個別に引用符で囲まれ、空行は空のまま残ります。そのため結果は引用符付きの文字列が複数並ぶ形になり、段落全体が 1 対で囲まれるわけではありません。全体を囲むなら先に改行を結合してください。

元のテキストに引用符があるとどうなりますか?

行内の二重引用符がバックスラッシュと引用符に置き換わり、外側にさらに 1 対が付きます。元から引用符がある場合は二重の入れ子になるため、使う前に何重になるべきか確認してください。

関連ツール:引用符の付与