CSVとは
CSVは、カンマ区切りで表形式のデータを表す形式として広く利用されています。このツールはRFC 4180を基本的な参考仕様とし、実務で使われるLF・CR改行にも対応します。
JSONとは
JSONはRFC 8259で定義されるテキストベースのデータ交換形式です。オブジェクトや配列で階層的なデータを表現できます。
CSVをJSONへ変換する方法
CSVを入力し、ヘッダー行・区切り文字・整形方法を選んで「JSONへ変換」を押します。初期設定では00123のようなIDを壊さないよう、すべての値を文字列として保持します。
name,age,city
Alice,30,Tokyo
Bob,40,Osaka
上のCSVは、名前・年齢・都市を持つ2件のJSONオブジェクトへ変換されます。
JSONをCSVへ変換する方法
JSONを入力して「CSVへ変換」を押します。オブジェクトの配列では、全レコードのキーを最初に出現した順でまとめてヘッダーにし、欠落したキーは空フィールドにします。
CSVのヘッダー行とは
1行目をヘッダーとして使うと、各列名をJSONオブジェクトのキーにします。同じヘッダー名が複数ある場合は初期設定でエラーにし、自動補正を選んだ場合だけname_2のように変更します。ヘッダーなしでは列名を作らず、配列の配列として保持します。
CSV内のカンマや改行の扱い
name,addressに続けてAlice,"Tokyo, Japan"と書くように、カンマを含むフィールドはダブルクォートで囲めます。引用符内の改行も同じ1フィールドとして扱い、CSV内で"を表す場合は""と記述します。
CSVとJSONの型の違い
CSVは型情報を持ちません。型推測は初期OFFで、ONにした場合だけtrue・false・null・安全な数値を変換します。leading zeroを持つ値やJavaScriptの安全整数範囲を超える整数は文字列のまま保持します。JSONのnullはCSVでは空フィールドになります。
ネストしたJSONの扱い
ネストしたオブジェクト・配列は1セル内のJSON文字列として出力します。初版ではuser.nameのような自動flattenは行いません。非常に大きな整数ID等はJSON側でも文字列として保持することを推奨します。
CSV Formula Injectionについて
=・+・-・@で始まる文字列は、表計算ソフトで数式として解釈される場合があります。本ツールは警告を表示しますが、初期設定ではデータを改変しません。任意の安全化オプションも完全な防止を保証するものではありません。
CSVとJSONを往復変換する際の注意
意味上のデータを保てても、引用符の有無、改行コード、null、数値型、元の空白などは完全一致しない場合があります。
よくある質問
CSVをJSONへ変換できますか?
はい。引用符付きフィールドを含むCSVをJSONへ変換できます。
JSONをCSVへ変換できますか?
はい。オブジェクト、オブジェクト配列、配列の配列に対応します。
CSV内にカンマが含まれていても大丈夫ですか?
はい。ダブルクォートで囲まれたフィールド内のカンマに対応します。
CSVセル内の改行にも対応しますか?
はい。引用符内のCRLF・LF・CR改行を1フィールドとして保持します。
1行目をヘッダーとして扱えますか?
はい。ヘッダーあり・なしを選択できます。
00123のような値は123になりますか?
初期設定では文字列として保持し、型推測ONでもleading zeroを維持します。
ネストしたJSONにも対応しますか?
オブジェクト・配列を1セル内のJSON文字列として出力します。
CSVをExcelで開く際の注意点はありますか?
数式として解釈される可能性がある文字列に注意してください。
ファイルはサーバーへアップロードされますか?
いいえ。ブラウザ標準のFile APIで端末内だけに読み込みます。
入力内容は保存されますか?
Cookie、ブラウザストレージ、URL、Analytics、サーバーへ保存・送信しません。