レッスン 7

文字列エスケープと Unicode

エスケープシーケンス、Unicode コードポイント、JSON 文字列内の特殊文字。

JSON の文字列は常にダブルクォートで区切られます。文字列を壊す、または曖昧になる文字は、バックスラッシュでエスケープする必要があります。

よく使うエスケープシーケンス

シーケンス意味
\"文字列内のダブルクォート
\\リテラルのバックスラッシュ
\n改行
\tタブ
\rキャリッジリターン
\bバックスペース
\fフォームフィード

例:

{
  "message": "Line one\nLine two",
  "path": "C:\\Users\\dev\\config.json"
}

Unicode エスケープ

4 桁の 16 進数で Unicode コードポイントを \uXXXX で表します。

{
  "greeting": "Hello, \u4e16\u754c"
}

基本多言語面外の文字は、JSON では UTF-16 サロゲートペアとして 2 つの \u エスケープが現れます — 多くのエディタとパーサーは UTF-8 ファイルの読み書き時にこれを処理します。

文字列内にそのまま置けない文字

制御文字(U+0000 から U+001F)はエスケープが必要です。文字列内のエスケープされていない改行は無効な JSON です — 代わりに \n を使いましょう。

UTF-8 ファイル vs エスケープされた Unicode

UTF-8 で保存された .json ファイルには、リテラルの中国語や絵文字を含められます。

{ "label": "世界" }

これは有効な JSON です。正規化すれば \u 形式と等価 — パイプラインと diff ツールにとって都合のよい方を選んでください。

実践的なヒント

  • ログから文字列をコピーするとき、スマートクォート " " に注意 — これらは有効な JSON の区切り文字ではありません。
  • API ドキュメントでは例に \n が出ることがあります。パーサーはメモリ上で実際の改行に変換します。
  • 長い文字列内で検証が失敗したら、エスケープされていないバックスラッシュや壊れた \u シーケンスを探してください。

実践したいときは関連する DevCove ツールを使えます。任意であり、このレッスンの必須部分ではありません。

関連ツールを開く

コース概要へ戻る