ホーム · 無料ツール · JSON を CSV に変換

JSON を CSV に変換

JSON を貼り付けるか .json ファイルを置くと、表になって返ってきます。そのまま CSV か .xlsx でダウンロードできます。 data キーの下に包まれたレコード、入れ子のオブジェクト、項目が揃っていないレコード、1 行に 1 つの JSON が並ぶ NDJSON にも対応します。 ひとつだけ先に:ダウンロードされる CSV は BOM なしの UTF-8 です。日本語版 Excel でダブルクリックして開くと文字化けすることがあるので、Excel で開くなら .xlsx を選んでください。

.json ファイルをドロップしても OK

.json / .ndjson を置くと、下の枠に中身が入ります

JSON ここに貼り付け、または読み込んだ内容を編集

毎月やっていますか? TableDI 2 で一度やってジョブに保存すれば、来月はもう一度実行するだけです。 TableDI 2 を無料でダウンロード

アップロードは行いません。 ファイルはこのタブの JavaScript が読んでいるだけで、あなたのパソコンから出ません —— サーバーは一切見ておらず、タブを閉じればデータは消えます。

JSON を CSV に変換する方法

  1. JSON を貼るか置く. 貼り付けたレスポンス、.json ファイル、1 行 1 オブジェクトの NDJSON のどれでも読めます。どこにも送信しません。
  2. どの配列を読んだか確かめる. 包まれたレスポンスなら、使ったキー名(data・results・items など)が表の上に出ます。
  3. 列を確かめる. 入れ子の値は 顧客.氏名 のようなドット区切りの列になり、文字列の配列は「; 」でつないだ 1 セルになります。
  4. ダウンロードする. スクリプトやデータベースに渡すなら CSV、Excel で開くなら .xlsx を選びます。

JSON がきれいに CSV にならない 3 つの理由

CSV は長方形です。列が決まっていて、1 レコードが 1 行。JSON は木です。変換の失敗はほとんどがこの違いから来ていて、どれも 1 行目を書く前に決まります。

  • レコードが一番外にない。 API は {"data": [ … ]} や {"results": [ … ]} のように、行を 1 段下に入れて返します。 外側の包みをそのまま変換すると、横に長い 1 行ができるだけです。このページは一番外のキーの中から「オブジェクトが入った最初の配列」を探し、どのキーを使ったかを表の上に表示します。
  • 値が入れ子になっている。 {"顧客": {"氏名": "山田", "県": "東京"}} は 顧客.氏名 と 顧客.県 の 2 列になります。 [object Object] と書かれた 1 セルにはなりません。オブジェクトの配列は 明細.0.品番 のように番号付きの列に展開します。
  • レコードごとに項目が違う。 3 件目にだけ タグ がある、というのはよくあることです。列は全レコードのキーの和集合で、最初に出てきた順に並びます。 無い値は空のセルになるので、値が左にずれて別の列に入ることはありません。

日本語版 Excel で開く前に:CSV は BOM なしの UTF-8 です

このページの CSV ダウンロードは UTF-8(BOM なし)で書き出します。スクリプトやデータベース、Google スプレッドシートにはそれで問題ありません。

ただし日本語版の Excel は、BOM の無い CSV をダブルクリックで開くと Shift-JIS(CP932)と見なすことがあり、日本語の列名や値が化けます。 このページは Shift-JIS での書き出しも BOM の付与もしていません。Excel で開くなら、隣の .xlsx をダウンロードを使ってください。.xlsx には文字コードの問題がありません。 CSV のまま開きたいときは、Excel の「データ」→「テキストまたは CSV から」で読み込み、元のファイルの文字コードに「65001: Unicode (UTF-8)」を選びます。 すでに化けて保存してしまった CSV は CSV の文字化けを直すで読み直せます。

長い番号は「文字列」で入っていれば守られます

"伝票番号": "000123456789012345" のように引用符で囲まれた値は、文字のまま CSV に出ます。先頭のゼロも 18 桁もそのままです。 一方、"id": 123456789012345678 のように数値で書かれた 16 桁以上の番号は、ブラウザが JSON を読んだ時点で末尾が丸められます。これはこのページに限らず JavaScript で JSON を読むツール全般の制約です。

NDJSON と壊れた JSON

ログや BigQuery の書き出しは、1 行に 1 つの JSON が並ぶ NDJSON であることが多く、ファイル全体としては正しい JSON ではありません。 全体として解析できなかったときは 1 行ずつ解析し直し、それで読めれば表の上に「NDJSON」と表示します。 どちらでも読めない場合は、末尾のカンマ、シングルクォート、文字列の中の改行など、パーサーが止まった理由をそのまま表示します。

毎週同じ API を同じシートに落としているなら

最初の 2〜3 回はブラウザのタブで十分です。同じエンドポイントを決まった周期で同じシートに入れ、項目が消えたら誰かが気づく必要がある —— そこから先は変換ではなく仕組みの話です。 TableDI 2 は、毎期やり直すファイル作業のためのデスクトップアプリです。ソース・ルール・納品のしかたをジョブとして保存するので、来月は新しいファイルを入れてもう一度実行するだけ。すべてあなた自身のパソコンの中で動きます。

よくある質問

変換した CSV を Excel で開くと文字化けします

CSV が BOM なしの UTF-8 で、日本語版 Excel がそれを Shift-JIS として開いたためです。 Excel で使うなら .xlsx でダウンロードしてください。CSV のまま使うなら、「データ」→「テキストまたは CSV から」で UTF-8 を指定して読み込みます。

JSON が配列ではなくオブジェクトです。変換できますか

できます。実際の API レスポンスは {"data": [ … ]} のようにレコードが 1 段下にあるのが普通です。 一番外のキーの中からオブジェクトが入った最初の配列を探して使い、どのキーを読んだかを表の上に表示します。配列がまったく無ければ、オブジェクトを 1 件のレコードとして 1 行にします。

入れ子のオブジェクトはどうなりますか

ドット区切りの列になります。{"顧客":{"id":7,"氏名":"山田"}} は 顧客.id と 顧客.氏名 の 2 列です。深さに制限はありません。

レコードの中の配列はどうなりますか

文字や数値だけの配列(["至急","関東"])は 至急; 関東 として 1 セルにまとめます。 オブジェクトの配列は 明細.0.品番・明細.1.品番 のように番号付きの別々の列になります。

ファイルはアップロードされますか

されません。JSON はこのタブの JavaScript が読んで変換します。ネットワークタブを開いたまま操作すれば、データを載せたリクエストが出ないことを確認できます。

毎月やっていますか?

TableDI 2 で一度やってから、ジョブとして保存します。来月は新しいファイルを入れて、もう一度実行するだけです。

macOS(Apple シリコンと Intel)。Windows 版は開発中です(それまでの使い方)。無料版は試用版ではありません —— アカウントもカードも不要です。

最終確認 2026-09-11、TableDI チーム。このページに間違いがありますか? お知らせください —— 受信箱はひとつで、TableDI を作っている人間が読んでいます。