JSON→CSV変換
- , (comma)
- ; (semicolon)
- \t (tab)
使い方
入力エリアにJSON配列を貼り付けてください。要素がオブジェクトの場合はキーがCSVのカラム見出しになり、プリミティブの場合は「value」見出しの1列テーブルになります。区切り文字(カンマ・セミコロン・タブ=TSV)、ヘッダー行の有無、全フィールド強制クォートを切替可能です。CSV出力はリアルタイムで更新され、ワンクリックでコピーできます。
CSVとは
CSV(Comma-Separated Values)は表計算ソフト(Excel・Google Sheets・Numbers)・データベース・データ解析ツールで広く受け入れられるプレーンテキストの表形式です。各行がレコード、セルは区切り文字(通常カンマ)で分けられます。区切り文字・引用符・改行を含むセルはダブルクォートで囲まれ、内部の引用符は二重化してエスケープされます。本実装はRFC 4180に準拠しています。
変換仕様
全行のキーをunionして見出しとするため、キー欠落は空セルとして出力されエラーにはなりません。ネストしたオブジェクト・配列はJSON文字列化({"x":1})して1つのセル内に収まります。フラットなカラム化が必要な場合は事前に前処理してください。null・undefinedは空セル、数値とブール値はそのまま文字列化されます。プリミティブとオブジェクトが混在する配列は拒否されます。
主な用途
- APIレスポンスをビジネスユーザー向けの表計算互換CSVとしてエクスポートする。
- JSONログをExcelやPandasでのデータ解析用にCSV化する。
- CSV取り込みを前提とするDBやETLパイプライン向けにJSONデータを準備する。
- デバッグ中にレコードを一覧比較するためのアドホック変換。
- APIフィクスチャからテスト用のサンプルCSVファイルを生成する。
ヒント
- カンマを小数点区切りに使う欧州ロケール向けには、セミコロン区切りを選んでください。
- タブ区切りはTSV形式で、Excelでも受け入れられ、ほとんどのコンテンツでクォートが不要になります。
- 下流処理がRFC 4180厳密モードを期待する場合は「全フィールドを必ずクォート」を有効にしてください。
- 別途ヘッダー行が存在する複数CSVを連結する場合は、ヘッダー行を除外して出力できます。
- ネストしたオブジェクトはJSONとしてインラインで文字列化されます。カラム化が必要な場合は事前にフラット化してください。
プライバシー
すべてのJSONパースとCSVエンコードはブラウザ内で完結します。データがサーバーに送信されたり保存されたりすることはありません。
よくある質問
入力は単一のオブジェクトと配列のどちらを想定していますか?
トップレベルがJSON配列であることを前提としています。要素がオブジェクトならキーが列見出しになり、プリミティブなら「value」という1列のテーブルになります。配列でない単独のオブジェクトなどは変換されません。
行の中にネストしたオブジェクトや配列があるとどうなりますか?
別々の列には展開されません。ネストした値はJSON文字列(例:{"x":1})に戻され、1つのセル内にまとめて出力されます。本当に列に分けたい場合は、変換前にフラット化してください。
個人情報や社内データを含むJSONを変換しても安全ですか?
はい。パースとCSVエンコードはすべてブラウザ内で実行され、アップロード・ログ記録・保存は一切行われません。エクスポートしたユーザー情報や社内データでも、端末の外に出ることなく変換できます。
カンマ区切りではなくTSVファイルを作るにはどうすればよいですか?
区切り文字でタブを選択してください。タブ区切り(TSV)が出力され、Excelやほとんどのスプレッドシートツールでそのまま取り込め、多くの場合フィールドのクォートも不要になります。
配列が無効として拒否されるのはなぜですか?
プリミティブとオブジェクトが混在した配列は、列構造が一意に定まらないため拒否されます。すべてオブジェクト、またはすべてプリミティブに統一してください。オブジェクト行間でキーが欠けている分には、単に空セルになるだけです。