コンテンツへスキップ
EVOA Toolbox

JSONからCSVへの変換

オブジェクトまたは配列のJSON配列をCSVに変換します。ネストしたオブジェクトはドット表記でフラット化し、区切り文字の指定やスプレッドシート向けの安全な書き出しにも対応しています。

ブラウザー内でローカルに処理されます。ファイルはアップロードされません。

ツールを読み込み中…

このツールでできること

JSONを貼り付けるか、.json ファイルをドロップすると、Excel、Googleスプレッドシートで開いたり、データベースに読み込んだりできるCSVが得られます。一般的な入力は、APIレスポンスのようなオブジェクトの配列です。個別のキーはそれぞれ列になり、最初に現れた順に並び、キーを持たないオブジェクトのセルは空になります。配列の配列、単一のオブジェクト、単純な値の配列にも対応しています。

実際のJSONはネストしているため、このツールはフラット化します。ドット表記では、{"user":{"name":"Ann"},"tags":["a","b"]} が user.name、tags.0、tags.1 という列になり、区切り文字は変更できます。構造を保ちたい場合は、ネストした値を1つのセルの中にJSON文字列として書き出す方法を選べます。

書き出しのオプションは、スプレッドシートで必要なものをそろえています。区切り文字(カンマ、セミコロン、タブ、パイプ)、ヘッダー行のオン・オフ、すべてのフィールドの引用符、Windowsの改行コード、Excelでアクセント付き文字が正しく表示されるようにするUTF-8のBOMなどです。CSVインジェクション対策を有効にすると、=、+、-、@ で始まるセルの先頭にアポストロフィが付き、データに悪意のある値が含まれていても、ファイルを開いたときに数式として実行されません。無効なJSONは、可能な場合は行と列とともに報告されます。

使い方

  1. 1ボックスにJSONを貼り付けるか、.json ファイルをドロップします。
  2. 2ネストしたデータの扱い(ドット表記またはJSONテキスト)と、区切り文字を選びます。
  3. 3ヘッダー、引用符、改行コード、BOM、CSVインジェクション対策のオプションを設定します。小さな入力は入力しながら変換されます。大きなファイルは「変換」を押してください。
  4. 4プレビュー表と警告を確認してから、CSVをコピーまたはダウンロードします。

対応形式

入力:JSONテキストまたは .json ファイル(オブジェクトの配列、配列の配列、値の配列、または単一のオブジェクト)。出力:任意の区切り文字のCSV(.csv)。

プライバシー

このツールはブラウザー上で動作します。入力されたデータはお使いのデバイス上で処理され、当社のサーバーには送信されません。

制限事項

  • JSONは有効である必要があります。コメント、末尾のカンマ、JSON Lines(1行に1オブジェクト)には対応していません。
  • 最初の要素の形と一致しない要素(たとえば、オブジェクトの配列の中の数値)はスキップされ、警告として一覧表示されます。
  • オブジェクトごとにキーが異なる場合、フラット化によって多くの列が作られることがあります。また、オブジェクト内の配列は、インデックスごとに1列が作られます。
  • インジェクション対策はデータを変更し(アポストロフィを追加)、-5 のような単純な数値には手を加えません。スプレッドシートで開くファイルではオンにし、CSVを別のプログラムに渡す場合はオフにしてください。
  • ファイル全体がメモリ上で処理されるため、非常に大きなJSONは遅くなることがあります。1 MBを超えるファイルは、バックグラウンドワーカーで変換されます。

よくある質問

ネストしたオブジェクトや配列はどのように扱われますか?

既定では、user.address.city、tags.0、tags.1 のように、ドット表記でフラット化されます。「JSONテキスト」に切り替えると、ネストした各値が、JSON文字列として1つのセルに入ります。

オブジェクトごとにキーが違う場合はどうなりますか?

列は、すべてのキーを最初に現れた順にまとめたものになります。キーを持たないオブジェクトのセルは空になります。

CSVインジェクションとは何ですか?

=、+、-、@ で始まるセルは、ExcelやGoogleスプレッドシートで数式として実行される場合があります。保護オプションを使うと、そのようなセルの先頭にアポストロフィが付き、テキストとして表示されます。

BOMが必要なのはなぜですか?

Windows版のExcelは、CSVファイルのエンコーディングを推測するため、ファイルの先頭にUTF-8のバイトオーダーマークがないと、アクセント付き文字や非ラテン文字が文字化けすることがよくあります。ほかのプログラムでは不要な場合があるため、オプションにしています。

関連ツール