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