🔄 JSON⇔CSV変換
JSONの配列とCSVを、ブラウザ内だけで相互変換します。区切り(カンマ/タブ)やヘッダ行の有無も指定できます。
入力
オフにすると、CSV→JSONは「配列の配列」で出力します。
オフ推奨。オンにすると「007」「01」など先頭0の値も数値化され表記が変わることがあります。
CSV
入力データはブラウザ内だけで処理され、サーバーには送信されません。
解説
JSON⇔CSV変換は、JSON形式の配列データとCSV(またはタブ区切りのTSV)を、ブラウザ内だけで相互に変換するツールです。APIのレスポンスを表計算ソフトで開きたいとき、逆に表計算で作った一覧をJSONとしてプログラムに渡したいときなど、フォーマットの橋渡しに使えます。入力したデータはサーバーに送信されず、すべてお使いのブラウザの中だけで処理されるため、業務データや個人情報を含むデータでも安心して変換できます。
JSON→CSV変換では、オブジェクトの配列(例:[{"name":"a","age":1}, {"name":"b","age":2}])を入力として受け取ります。すべてのオブジェクトに含まれるキーの和集合を1行目のヘッダとし、各オブジェクトを1行として出力します。あるオブジェクトに存在しないキーは空欄になります。値に配列やオブジェクトなどのネストした構造が含まれる場合は、その部分をJSON文字列に変換して1つのセルに収めます。
CSVは見た目が単純に見えて、値の中にカンマ・改行・ダブルクォートが含まれると途端に扱いが難しくなります。本ツールはRFC4180というCSVの一般的な仕様に沿って、こうした特殊文字を含む値を自動的にダブルクォートで囲み、値の中のダブルクォートは2つ重ねてエスケープします。これにより、住所や氏名にカンマが入っていても、セルがずれずに正しく1つの項目として保持されます。
CSV→JSON変換では、クォートで囲まれたフィールドや、フィールド内の改行・エスケープされたダブルクォートに対応した独自パーサで行と項目を解析します。「1行目をヘッダとして扱う」をオンにすると、ヘッダの項目名をキーにしたオブジェクトの配列を生成します。オフにすると、各行をそのまま配列にした「配列の配列」を出力します。結果はインデント2でJSON整形して表示するので、そのまま読みやすい形でコピーできます。
数値の扱いには注意が必要です。CSVには型の情報が無いため、本ツールは既定ですべての値を文字列のまま出力します。これは「007」「0120」「01」のように先頭にゼロが付く番号や、電話番号・郵便番号・商品コードが数値化されて桁落ちや表記変化を起こすのを防ぐためです。数値として扱いたい場合のみ「数値らしい値を数値に変換する」をオンにしてください(厳密な数値表記のみが対象で、先頭ゼロの値は変換対象外にしています)。
変換結果はワンクリックでコピーできるほか、ファイルとしてダウンロードもできます。CSV・TSVのダウンロード時にはExcelでの文字化けを避けるためBOM付きのUTF-8で保存します。フレームワークやビルド工程を使わない軽量なツールなので、オフラインでも動作し、一度開けば通信が無い環境でも変換を続けられます。
よくある質問
入力したデータはどこかに送信されますか?
いいえ。すべての変換はお使いのブラウザ内(JavaScript)だけで行われ、入力データがサーバーに送信されることはありません。業務データや個人情報を含むデータでも安全に変換できます。
JSON→CSVで入力できる形式は?
オブジェクトの配列(例:[{"name":"a","age":1}, ...])を想定しています。単一のオブジェクトも1件の配列として扱えます。配列の配列やスカラー値の配列はヘッダ無しでそのまま並べて出力します。
値にカンマや改行が含まれていても大丈夫ですか?
はい。RFC4180に沿って、カンマ・改行・ダブルクォートを含む値は自動的にダブルクォートで囲み、値内のダブルクォートは2重にエスケープします。逆変換でも、これらを正しく解釈して元のデータに戻します。
CSV→JSONで数値が文字列になります。なぜ?
CSVには型情報が無いため、既定では桁落ちや表記変化を避けて値を文字列のまま出力します。数値化したい場合は「数値らしい値を数値に変換する」をオンにしてください。ただし「007」など先頭ゼロの値は表記が変わるため変換対象外です。
TSV(タブ区切り)にも対応していますか?
はい。区切り文字で「タブ(TSV)」を選ぶと、タブ区切りデータとして入出力できます。Excelやスプレッドシートからコピーした表はタブ区切りになることが多いので、その場合はタブを選んでください。
ネストしたJSON(入れ子の配列やオブジェクト)はどうなりますか?
JSON→CSVでは、値が配列やオブジェクトの場合、その部分をJSON文字列に変換して1つのセルに収めます。完全に階層構造を平坦化(フラット化)する機能は現時点では備えていません。
変換結果を保存できますか?
「結果をコピー」でクリップボードにコピーできるほか、「ダウンロード」でファイルとして保存できます。CSV/TSVはExcelでの文字化けを防ぐためBOM付きUTF-8で、JSONはそのままのUTF-8で保存します。