エスケープで書き方を変えた同じ名前
一方は price、もう一方は pri\u0063e と書かれた例です。見た目は違っても、\u0063 は c を表すため、文字に直すと同じ名前になり重複と判定されます。
入力
JSON
{"price": 100, "pri\u0063e": 120}大文字・小文字だけが違う項目名(Name と name など)も同じとみなして探す
いいえ
結果
エラー 0 件・警告 1 件・情報 0 件
指摘(エラー・警告・情報)
- 警告 1 行 2 列(ほか 1 行 16 列) $ に項目名「price」が 2 回あります。値が違うため、読み込む側によって後の値だけを使う・エラーにする・すべて残すと分かれます(RFC 8259 4 節)。書き方(エスケープ)は違っても、文字に直すと同じ名前です(RFC 8259 7 節・8.3 節)。不要な方を消すか、名前を変えてください。
| 判定 | 重複あり(1 件の項目名) |
|---|---|
| 調べたオブジェクト | 1 個(項目名 合計 2 個) |
| 重複のあるオブジェクト | 1 個 |
| 値が食い違う重複 | 1 件 |
重複した項目名の一覧
| 場所(パス) | 項目名 | 回数 | 位置(行:列) | 値(先頭の 28 文字まで) |
|---|---|---|---|---|
| $ | price | 2 回 | 1:2 、 1:16 | 1 つ目 100 | 2 つ目 120 |
検算(この結果になる理由)
\u0063 は文字 c を表すエスケープ(RFC 8259 7 節)で、文字に直してから比べる(8.3 節)と pri\u0063e も price になります。値が 100 と 120 で違うため、書き方の違いの注記つきの警告が 1 件です。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- JSON Schema などによる内容(項目の有無・型・値の範囲)の検査や、JSON の整形はしません。重複の検出に絞っています。
- 構文エラーは最初の 1 か所だけを示し、その場合は重複を調べません。直したあとに貼り直してください。
- JSON Lines(1 行に 1 つの JSON)や、コメント・末尾カンマを許す JSON5・JSONC は、JSON としてはエラーになります。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
ご利用にあたって
- 検査は JSON の構文と項目名の重複に限ります。読み込む側のソフトが独自の制限や挙動を持つ場合があります。
- 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。