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