電話番号が一部にない・null が混ざる
3 件の顧客データのうち、2 件目には tel の項目がなく、1 件目の tel は null という典型的な例です。tel だけが出現率 66.7% になり、欠けと null の混在が別々に指摘されます。
入力
JSON(オブジェクトの配列)
[{"id":1,"name":"A","tel":null},{"id":2,"name":"B"},{"id":3,"name":"C","tel":"03-1111-2222"}]表の並び順
項目名が最初に出てきた順
結果
エラー 0 件・警告 1 件・情報 1 件
指摘(エラー・警告・情報)
- 警告 項目名「tel」 項目名「tel」は 3 個のオブジェクトのうち 2 個にしかありません(出現率 66.7%)。読み込む側が項目の欠けを想定していないと、値がないものとして扱われて不具合になります。欠けているのは配列の 2 番目の要素です。
- 情報 項目名「tel」 項目名「tel」は 文字列 と null が混ざっています(null は 1 個)。null は「値がない」を表す書き方で、項目名がないのとは区別して扱われます。
| 判定 | 3 種類の項目名を集計しました |
|---|---|
| 配列の要素 | 3 個(うちオブジェクト 3 個) |
| 項目名の種類 | 3 種類 |
| null の総数 | 1 個 |
項目名ごとの集計
| キー | 出現数 | 出現率 | 型の内訳 | null の数 |
|---|---|---|---|---|
| id | 3 / 3 | 100.0% | 数値 3 | 0 |
| name | 3 / 3 | 100.0% | 文字列 3 | 0 |
| tel | 2 / 3 | 66.7% | 文字列 1 / null 1 | 1 |
検算(この結果になる理由)
要素は 3 個で、id と name は 3 個すべてにあるので出現率 100.0% です。tel は 1 個目と 3 個目だけなので 2 / 3 で 66.7%、内訳は文字列 1 と null 1、null の数は 1 です。欠けた 2 番目の要素が警告、null との混在が情報になります。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 集計するのは配列の直下のオブジェクトの項目名だけです。入れ子の中の項目(user の中の name など)は、user の値がオブジェクトであることを数えるだけで、中の項目名は集計しません。
- 数値は大きさや桁数を区別せず、すべて「数値」として数えます。整数と小数の別や、日付らしい文字列の判別はしません。
- JSON Lines(1 行に 1 つの JSON)や、コメント・末尾カンマを許す JSON5・JSONC は、JSON としてはエラーになります。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
ご利用にあたって
- 集計の対象は JSON の構文と値の型に限ります。項目の意味や、値が正しいかどうかは判断しません。
- 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。