CSV→JSON変換
CSVファイルをJSON配列(オブジェクトの配列)に変換します。区切り文字・見出し行の有無を指定でき、変換結果はコピー・ダウンロードできます。ファイルの内容はブラウザ内で処理されサーバーには送信されません。
| 区切り文字 |
|
|---|---|
| 先頭行を見出しとする | |
| 整形して表示(インデント付き) |
CSVを入力すると、ここにJSONが表示されます。
CSVの行とJSONオブジェクトの対応
| CSVの1行 | name,age,city |
|---|---|
| 変換後のJSONオブジェクト | {"name": "...", "age": "...", "city": "..."} |
先頭行を見出しとして使う場合、2行目以降の各行が、見出しの列名をキーにした1つのオブジェクトに変換されます。
CSV→JSON変換とは
CSV→JSON変換とは、カンマ区切りのCSVデータを、プログラムから扱いやすいJSON配列(オブジェクトの配列)に変換する処理です。ダブルクォートで囲まれたセル内のカンマ・改行・エスケープされた引用符("")にも対応したRFC 4180準拠のパーサーで読み取るため、Excel等で出力した複雑なCSVもくずさずに変換できます。
変換の際は、1行目を見出し行として扱い、2行目以降の各行を「見出し名: 値」という形のオブジェクトに変換します。処理はすべてブラウザ内のJavaScriptで完結しており、入力したCSVの内容がサーバーへ送信されることはありません。
CSV→JSON変換の使い方
- CSVを入力する テキストエリアにCSVを貼り付けるか直接入力します。手元にデータが無い場合は「サンプル」ボタンで例を読み込めます。
- 区切り文字を選ぶ 「区切り文字」でカンマ・タブのどちらを使っているデータかを選びます。TSVファイルの場合はタブを選択します。
- 見出し行の扱いを設定する 「先頭行を見出しとする」を有効にすると、1行目の値がJSONオブジェクトのキー名として使われます。
- 表示形式を選ぶ 「整形して表示(インデント付き)」を切り替えて、読みやすいインデント付きのJSONか、詰めたJSONかを選べます。
- 結果をコピーする 変換されたJSONは自動的に画面へ表示されます。「コピー」ボタンでクリップボードにコピーし、そのまま利用できます。
使いこなすためのヒント
- 「先頭行を見出しとする」を有効にすると、1行目の値がJSONオブジェクトのキー名として使われます。無効にすると col1・col2… という連番キーになります。
- 見出しに空欄や重複した列名がある場合は、その列だけ自動的に col{列番号} というキーに置き換わり、値の欠落を防ぎます。
- 姉妹ツールの「JSON→CSV変換」と組み合わせることで、CSVとJSONを何度でも相互に変換できます。
- ダブルクォートで囲まれたセル内のカンマ・改行・エスケープされた引用符("")にも対応したRFC 4180準拠のパーサーで変換するため、Excel等で出力した複雑なCSVも正しく変換できます。
CSV→JSON変換の活用シーン
APIのテスト用データ作成
スプレッドシートから書き出したCSVを、APIの動作確認に使うJSONペイロードへすばやく変換できます。
NoSQLデータベースへの投入データ準備
MongoDBのようなドキュメント指向データベースはJSON形式のデータを扱うため、表計算ソフトで作った一覧をそのまま投入用データに変換できます。
フロントエンドのモックデータ作成
画面のダミー表示やテストに使うJSON配列を、Excelで作った一覧表から手早く用意できます。
スクリプトを書かない一時的なデータ変換
変換用のコードをその場で書くほどでもない、一度きりのちょっとしたCSV→JSON変換にも手軽に使えます。
用語集
- CSV
- Comma-Separated Valuesの略で、値をカンマで区切って表形式データを表す形式です。表計算ソフトでの読み書きに広く使われています。
- JSON
- JavaScript Object Notationの略で、キーと値の組を中心にデータを表す軽量な形式です。多くのプログラミング言語やAPIで標準的に扱われています。
- TSV
- Tab-Separated Valuesの略で、値をタブ文字で区切って表形式データを表す形式です。値にカンマを含む場合でもCSVより区切りが曖昧になりにくいという特徴があります。
- RFC 4180
- CSVファイルの一般的な書式を定めた仕様です。ダブルクォートで囲んだセル内のカンマ・改行・引用符の扱い方などが規定されています。
- ヘッダー行(見出し行)
- CSVの1行目に置かれる、各列の名前を表す行です。JSONへ変換する際、この行の値がオブジェクトのキー名として使われます。
- エスケープ
- CSV内でダブルクォート自体を値として含めたい場合に、引用符を二重に重ねて("")表す処理です。パーサーはこれを1個のダブルクォートとして復元します。
よくある質問
余談ですが ― なぜAPIはCSVではなくJSONを好むのか
CSVは表形式データを平易に表現できる一方、ネスト構造(配列や入れ子オブジェクト)を表現できないという制約があります。REST APIのレスポンスの多くがJSON形式を採用しているのは、1つのレコードの中に配列やオブジェクトを自由に埋め込めるため、CSVでは表現しきれない複雑なデータ構造もそのまま送受信できるからです。
一方でCSVには「Excelやスプレッドシートですぐに開ける」「1行が1レコードなので人間が目で確認しやすい」という捨てがたい利点があります。実務では「集計・確認はCSV、システム間連携はJSON」という使い分けが定着しており、本ツールのような相互変換の需要が絶えないのはこのためです。
JSON(JavaScript Object Notation)という名前にもかかわらず、現在ではJavaScript以外のほぼすべての言語で標準的にサポートされています。2001年にDouglas Crockfordによって仕様が公開されて以来、意図的に「特定の言語に依存しない最小限のデータ表現」として設計されてきたことが、この普及の大きな理由です。