JSON から CSV への列展開

JSON を CSV にする前に、どんな列になるかを確かめる。

オブジェクトが並ぶ JSON の配列を貼り付けると、CSV にしたときの列と行を表で確かめられます。入れ子のオブジェクトは「user.name」のようなドット区切りの列名になります。カンマや引用符を含む値は RFC 4180 の規則で引用符で囲んだ CSV として、コピー・保存もできます。入力はブラウザの中だけで処理します。

ツールを使う 入力例と結果

JSON の配列を CSV の列に展開して確かめる

入力した内容は送信されません。貼り付けた文字や選んだファイルは、お使いのブラウザの中だけで処理します。本サイトのサーバーや第三者へ送信・保存しません(通信を禁止する設定でページを配信しています)。

結果

エラー 0 件・警告 0 件・情報 1 件

指摘(エラー・警告・情報)

  • 情報 全体 null(1 個)と、その行にない項目(0 個)は、どちらも空欄のセルになります。CSV では「値が空」と「項目がない」と「null」を区別できません。
判定2 行 × 3 列に展開しました
行数2 行
列数3 列
引用符で囲むセル0 個

CSV にしたときの表

CSV にしたときの表
iduser.nameuser.age
1田中30
2鈴木

初期表示は入力例「入れ子のオブジェクトがドット区切りの列になる」の結果です。入力を変えるとその場で処理し直します。判定の根拠は仕様と根拠にまとめています。

ご利用にあたって

  • 展開の結果は、JSON の構造をそのまま表にしたものです。取り込み先のソフトの仕様(列の数の上限、セルの文字数の上限など)は確認していません。
  • 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。

使い方

  1. 展開したい JSON の配列をテキスト欄に貼り付けるか、JSON ファイルを選びます。配列の要素がオブジェクト { … } であるものが対象です。
  2. 配列の値(tags: ["a", "b"] など)の扱いを選びます。1 つのセルにまとめるか、tags.0・tags.1 のように添字をつけた列に分けるかを選べます。
  3. 表で列名と各行の値を確かめます。入れ子のオブジェクトは「user.name」のように、ドットでつないだパスが列名になります。
  4. 指摘で、空欄になるセルや、引用符で囲まれるセルの数を確かめ、問題がなければコピーまたはダウンロードします。保存される CSV は RFC 4180 の規則で引用符を付けます。

入力例と結果

代表的な入力・境界の入力・壊れた入力の例です。例ごとに入力・出力・指摘と、その結果になる理由(検算)を載せています。

入力例と結果の一覧
入力例結果
入れ子のオブジェクトがドット区切りの列になるエラー 0 件・警告 0 件・情報 1 件
カンマ・引用符・改行を含む値エラー 0 件・警告 0 件・情報 1 件
配列の値を 1 つのセルに入れるエラー 0 件・警告 0 件・情報 1 件
配列の値を添字つきの列に分けるエラー 0 件・警告 0 件・情報 1 件
行によって項目が違うエラー 0 件・警告 0 件・情報 1 件
オブジェクトでない要素があるエラー 0 件・警告 1 件・情報 1 件

このツールでできないこと(制約)

よくある質問

入れ子の配列はどう展開されますか?

既定では、配列の値は空白を詰めた JSON のまま 1 つのセルに入ります。「添字をつけて列に分ける」を選ぶと tags.0、tags.1 のような列になりますが、要素の数が行ごとに違うと列が増えて空欄が多くなるため、内容に合わせて選びます。

CSV を Excel で開くと文字化けしませんか?

ダウンロードする CSV は UTF-8 で、BOM は付けません。Excel のバージョンによっては、直接開くと文字化けすることがあります。その場合は、Excel の「テキストまたは CSV から」の取り込みで文字コードを UTF-8 に指定して開いてください。

貼り付けた JSON はどこかに送られますか?

送られません。展開はお使いのブラウザの中だけで行い、ページは通信を禁止する設定(CSP の connect-src)で配信しています。顧客データなどでも内容を送信しませんが、共用の端末では使い終わったらページを閉じてください。