CSV と JSON を相互変換する
このツールができること
CSV と JSON は、同じ表形式データを二つの異なる形で表したものです。CSV ファイルは表そのもので、先頭行が列名を示し、以降の各行が区切り文字で値を区切った 1 レコードになります。JSON は同じ表を構造として包み、多くの場合は配列になり、各行が列名をキーに持つオブジェクトへと変わります。このツールは貼り付けられた形式を読み取り、どちらかを判別したうえで、もう一方の形式に書き換えます。
変換は双方向です。CSV を渡せば JSON オブジェクトの配列が得られ、JSON を渡せば区切り文字で区切られた行が返ってきます。判別はファイル拡張子ではなく実際の中身に基づくため、断片を貼り付けてそのまま結果へ進めます。
こんなときに使う
もっとも多い用途は、表計算ソフトと API の橋渡しです。シートを CSV として書き出し、エンドポイントが求める JSON ペイロードに変えたり、JSON レスポンスを Excel や Google スプレッドシートで開ける行の形に並べ替えたりできます。CSV ダンプからデータベースに初期データを流し込むときや、なじみのないデータセットを読みやすいほうの形で眺めて確認するときにも役立ちます。
行数と列数がリアルタイムに表示され、ファイルサイズや処理時間とあわせて、出力が想定どおりかどうかをすばやく確認できます。
例: 行からオブジェクトへ
ヘッダー行 name,age,city に続けて John,25,Seoul と Jane,30,Tokyo があるとします。JSON に変換すると、二つのオブジェクトからなる配列 {"name":"John","age":"25","city":"Seoul"} と {"name":"Jane","age":"30","city":"Tokyo"} になります。ヘッダーの各セルがキーになり、各データ行が 1 つのオブジェクトになります。逆方向に変換すると、これらのオブジェクトは再びヘッダー行と 1 レコードにつき 1 行の形にたたまれます。
注意点と特殊なケース
先頭行はキーを与えるヘッダーとして扱われます。ファイルがいきなりデータから始まる場合は Has Header オプションをオフにしてください。区切り文字は自動で判別されますが、ファイルがあいまいなときはカンマ、セミコロン、タブ、パイプを指定して固定できます。区切り文字や改行を含む値は、引用符で囲むことでそのまま保たれます。JSON にネストしたオブジェクトがある場合は、Flatten Objects オプションが個々の列へ展開するかどうかを決め、Array Handling がリストをセミコロンで連結するか別々の列に分けるかを制御します。CSV には型の仕組みがないため、25 のような数値も、あとから変換しない限り文字列として出てくる点に注意してください。