CSV JSON 変換 — CSVをオブジェクトのJSONにオンライン変換
CSVをJSONに変換(区切り文字の自動判定・ヘッダー・型変換・ネスト復元)
ブラウザー内で処理・アップロード不要
CSV JSON 変換ツールとは
スプレッドシートやデータベースから表を取り出すときはCSVが定番ですが、Webのコードで扱うならJSONが便利です。このツールは貼り付けたCSVをJSONに変換します。初期設定ではヘッダー行をキーにしたオブジェクトの配列になり、ヘッダーがない場合は配列の配列になります。
使い方
- CSV全体を入力欄に貼り付けるか、CSVファイルを開くでファイルを開きます(UTF-8、UTF-16、EUC-KR、Windows-1252のファイルはそのまま開けます)。
- 区切り文字は「自動判定」のままにするか、自分で選びます。1行目がデータならヘッダーのオプションをオフにします。
- 数値やtrue/falseをJSONの型にしたいなら、型変換をオンにします。
- ネストの復元をオンにすると、
address.cityのような列が{"address":{"city":...}}に戻ります。JSON CSV 変換ツールで作ったCSVを戻すときに便利です。 - インデントを選んで結果をコピーします。
仕組み
-
解析はRFC 4180に従います。ダブルクォートの中の区切り文字や改行は値の一部として扱い、ダブルクォート2つは1つとして読みます。完全な空行は読み飛ばします。
-
型変換の対象は、小文字の
trueとfalse、そして-12、3.5、1e3のような普通の10進表記だけです。007、+1、1e999や9007199254740991を超える整数は文字列のままです。空のセルは空文字列になります。 -
ヘッダー名が重複すると
name、name_2、name_3のように名前を変え、列が消えないようにします。 -
ネストの復元では、ドットを含むヘッダーをオブジェクトとして組み立て、
[や{で始まる正しいJSONのセルを配列やオブジェクトに展開します。ドット付きのキーが既存の値とぶつかる場合は、そのままのキー名で残します。 -
入力の先頭にあるUTF-8 BOMは取り除きます。
-
往復変換の注意:空のセルは
nullではなく空文字列になります。また型変換をオンにすると"123"のような数字の文字列は数値の123になるため、JSON → CSV → JSONと往復しても元どおりにならない場合があります。
例
入力:
name,age,address.city
山田太郎,30,Tokyo
型変換とネストの復元をオンにした結果:
[{"name": "山田太郎", "age": 30, "address": {"city": "Tokyo"}}]
よくある質問
区切り文字は自分で選ぶ必要がありますか?
初期設定では、先頭の数行の形からカンマ・セミコロン・タブ・パイプのどれかを自動で判定します。値の中に別の区切り文字が多く含まれていて判定を誤った場合は、手動で選んでください。判定した区切り文字は結果の上に表示されます。
数値が文字列のままになるのはなぜですか?
初期設定ではすべての値を文字列のまま残します。「数値とtrue/falseをJSONの型に変換」をオンにすると変換されます。その場合でも、先頭にゼロが付いた007、+1、2^53を超える整数などは、情報が失われないよう文字列のままにします。
Excelで保存したCSVの日本語は崩れずに読めますか?
ファイルは**CSVファイルを開く**で開いてください。UTF-8またはUTF-16のBOMがあればそれで文字コードを決め、なければUTF-8として読み、失敗したらEUC-KR(CP949、韓国語版Excelの既定)、それにも当てはまらなければWindows-1252(西欧版Excel)として読みます。どれで読んだかは画面に表示されます。日本語版Excelの「CSV(コンマ区切り)」はShift_JISで保存されますが、この自動判定には含まれないため、Excelで「CSV UTF-8(コンマ区切り)」を選んで保存し直すか、文字コード変換ツールでUTF-8にしてから開いてください。他のアプリからコピーした時点で化けている文字は、貼り付けても直せません。
列の数が合わない行はどうなりますか?
その行もそのまま変換し、行番号を「確認が必要な行」に一覧表示します。足りないセルのキーは結果に含まれず、余分なセルは捨てられます。