下位サロゲートだけの孤立した \uDEAD
上位サロゲートのない下位サロゲート単独の例です。文法上は書けても Unicode の文字を表さないため、受け取るソフトによって結果が変わる警告になります。
入力
JSON
["\uDEAD"]
結果
エラー 0 件・警告 1 件・情報 0 件
指摘(エラー・警告・情報)
- 警告 1 行 3 列 \uDEAD は先行する上位サロゲート(D800〜DBFF)のない孤立したサロゲートで、Unicode の文字を表しません。受け取るソフトの挙動は予測できません(RFC 8259 8.2 節)。
| 文字列の数 | 1 個 |
|---|---|
| エスケープの数 | 1 件 |
| 孤立したサロゲート | 1 件 |
エスケープの一覧
| 位置 | 書かれたエスケープ | 表す文字 | コードポイント | 区分 |
|---|---|---|---|---|
| 1 行 3 列 | \uDEAD | (文字ではない) | U+DEAD | 孤立したサロゲート |
検算(この結果になる理由)
RFC 8259 8.2 節は、\uDEAD のような孤立した下位サロゲートは文法上許されるが文字を表さず、挙動が予測できないとしています。表に 1 行出て、警告が 1 件(1 行 3 列)になります。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- JSON 全体の文法(カンマ・かっこ・数値など)は検査しません。文字列の中のエスケープだけを読みます。構文の検査や整形は整形用の JSON ツールで行ってください。
- 誤りは最初の 1 か所だけを示します。直したあとに貼り直してください。
- コメントのある JSON5・JSONC や、シングルクォートで囲んだ文字列は対象外です。二重引用符で囲んだ文字列だけを読みます。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
ご利用にあたって
- 表示する「表す文字」は、お使いのブラウザのフォントで表示できない文字だと四角形などで表示されることがあります。コードポイントを合わせて確認してください。
- 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。