仕様と根拠
必須のエスケープと任意のエスケープ
RFC 8259 7 節は、二重引用符・逆スラッシュ・U+0000 から U+001F までの制御文字は必ずエスケープするとしています。それ以外の文字は直接書いてもエスケープしてもよく、スラッシュ(/)の \/ もその 1 つです。表の区分は、この規則に沿って必須と任意を分けています。
2 文字形と 6 文字形、サロゲートペア
\n や \t のような 2 文字形は 8 種類だけです。それ以外は \u と 16 進数 4 桁(大文字小文字どちらも可)の 6 文字形で書きます。BMP の外の文字は、上位と下位のサロゲートを並べた 12 文字で書き、このツールは 1 つの文字としてまとめて表示します。
孤立したサロゲートと書き間違い
上位だけ、または下位だけのサロゲートは Unicode の文字を表さず、受け取るソフトの挙動が予測できないため(8.2 節)警告にします。\d のように一覧にない文字が続く、\u の後が 16 進数 4 桁でない、文字列の中に生の改行がある場合は、7 節に反するので誤りとして位置を示します。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| RFC 8259 The JavaScript Object Notation (JSON) Data Interchange Format | 2026年10月28日 | 7 節(文字列・必須のエスケープ・2 文字形・\uXXXX・サロゲートペア)・8.2 節(孤立したサロゲートの扱い) |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- JSON 全体の文法(カンマ・かっこ・数値など)は検査しません。文字列の中のエスケープだけを読みます。構文の検査や整形は整形用の JSON ツールで行ってください。
- 誤りは最初の 1 か所だけを示します。直したあとに貼り直してください。
- コメントのある JSON5・JSONC や、シングルクォートで囲んだ文字列は対象外です。二重引用符で囲んだ文字列だけを読みます。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
ご利用にあたって
- 表示する「表す文字」は、お使いのブラウザのフォントで表示できない文字だと四角形などで表示されることがあります。コードポイントを合わせて確認してください。
- 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。