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