オブジェクトでない要素がある
オブジェクトの配列のはずが、2 つ目の要素だけ数値の 5 になっている壊れた例です。数値は「(要素そのもの)」という列に入れて展開し、オブジェクトでない要素があることを警告します。
入力
JSON(オブジェクトの配列)
[{"a":1},5]配列の値の扱い
1 つのセルに JSON のまま入れる
結果
エラー 0 件・警告 1 件・情報 1 件
指摘(エラー・警告・情報)
- 警告 2 番目の要素 配列の要素のうち 1 個がオブジェクトではありません。値は「(要素そのもの)」の列に入れました。項目名ごとの列にするには、要素をオブジェクトにそろえてください。
- 情報 全体 null(0 個)と、その行にない項目(2 個)は、どちらも空欄のセルになります。CSV では「値が空」と「項目がない」と「null」を区別できません。
| 判定 | 2 行 × 2 列に展開しました |
|---|---|
| 行数 | 2 行 |
| 列数 | 2 列 |
| 引用符で囲むセル | 0 個 |
CSV にしたときの表
| a | (要素そのもの) |
|---|---|
| 1 | |
| 5 |
検算(この結果になる理由)
1 つ目は a 列に 1 が入ります。2 つ目の 5 は項目名を持てないため「(要素そのもの)」列に入れます。列は a と(要素そのもの)の 2 列で、2 番目の要素がオブジェクトでないという警告が 1 件、ない項目の空欄が 2 個です。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- CSV から JSON への逆変換、文字コードの変換(Excel で開く用の BOM つき UTF-8 など)、項目名の並び替えや列の選択はできません。
- 項目名にドットを含むと、入れ子のパスと区別できません。同じ列名になった場合は警告し、後の値で上書きします。
- 数値は書かれたままの文字で出力します(1.50 は 1.50)。日付や数値の書式の変換はしません。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
ご利用にあたって
- 展開の結果は、JSON の構造をそのまま表にしたものです。取り込み先のソフトの仕様(列の数の上限、セルの文字数の上限など)は確認していません。
- 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。