入力 — CSV
出力 — JSON
CSV→JSON変換の仕組み
CSV(カンマ区切り値)とJSON(JavaScript Object Notation)は、最も一般的なデータ交換形式の2つです。CSVはコンパクトでスプレッドシートに適し、JSONは階層的でWeb APIのネイティブ形式です。このツールを使うと、ブラウザ内で完全に、両者をすばやく変換できます。
CSVフォーマット(RFC 4180)
公式CSV仕様(RFC 4180)は、このコンバーターが正確に従う以下のルールを定義しています:
- フィールドは区切り文字で区切られます(デフォルト:カンマ)。自動検出オプションはデータを確認して適切なものを選択します。
- 区切り文字・ダブルクォート・改行を含むフィールドはダブルクォートで囲む必要があります。
- クォートされたフィールド内のダブルクォートは連続する2つのダブルクォート(
"")で表されます。 - 通常、最初の行は列名を指定するヘッダー行です。
- 行はCRLFまたはLFの行末記号で区切られます — どちらも対応しています。
型推論
型推論が有効な場合(デフォルト)、文字列値は自動的にネイティブのJSON型に変換されます:
"42"→42(数値)"3.14"→3.14(数値)"true"/"false"→true/false(真偽値)""または"null"→null- それ以外はすべて文字列のままです。
例えば 01234 のような郵便番号列が "01234" のまま残る必要がある場合(1234 に変換されないよう)は、型推論をオフにしてください。
ドット記法キー → ネストされたオブジェクト
ドットキーを展開を有効にすると、address.city のようなヘッダーがネストされたJSON構造 {"address": {"city": "..."}} に変換されます。ネストされたオブジェクトを期待する階層型APIのデータ準備に役立ちます。
JSON → CSV:ネストオブジェクトの平坦化
JSONをCSVに変換する際、ネストされたオブジェクトはドット記法キーを使って自動的に平坦化されます。{"user": {"name": "Alice", "age": 30}} というオブジェクトは user.name と user.age の2列になります。
キーボードショートカット
- Ctrl/Cmd+Enter — 今すぐ変換
- Ctrl/Cmd+D — 出力をダウンロード
- Ctrl/Cmd+Shift+C — 出力をコピー
よくあるCSVの落とし穴
- 値内のカンマ: データにカンマが含まれる場合(例:「田中, 花子」)、そのフィールドはクォートで囲む必要があります。このコンバーターはRFC 4180に従って正しく処理します。
- 列数の不一致: エクスポーターによっては末尾フィールドが欠けた行を生成することがあります。このコンバーターは不足値を
nullで補完し、影響を受ける行を通知します。 - BOM文字: Excelからエクスポートされたファイルは、UTF-8 BOM(
)で始まることがあります。このコンバーターは自動的に削除します。 - エンコード: アップロードされたファイルはUTF-8として読み込まれます。CSVが別のエンコード(例:Latin-1)を使用している場合は、先にUTF-8に変換してください。
- 大きなファイル: 5 MBを超えるファイルはプレビューテーブルを遅くする場合があります。コンバーターは処理しますが、プレビューは最初の50行に制限されます。
CSV vs JSON:使い分けの基準
CSVを使う場合: 非技術者とタブラーデータを共有する、スプレッドシートにインポートする、列名が安定した大規模なフラットデータセットを扱う。
JSONを使う場合: Web APIを利用する、階層的またはネストされたデータを保存する、JavaScript/Node.js/Pythonスクリプトで作業する、値にカンマや特殊文字が含まれる可能性がある。
よくある質問
いいえ。すべての変換はJavaScriptを使ってブラウザ内で完結します。CSVまたはJSONデータがデバイスの外に出ることはありません。ブラウザのネットワークタブを確認すると、変換中に外部への送信がゼロであることがわかります。
コンバーターは最初の5行をサンプリングし、カンマ・セミコロン・タブ・パイプの出現数を数えます。行全体で最も一貫して現れる文字(特にヘッダーで)が区切り文字として選択されます。いつでも手動で上書きできます。
はい。パーサーはRFC 4180に完全準拠しています。ダブルクォートで囲まれたフィールドにはカンマ・埋め込み改行・エスケープされたダブルクォート(2つの連続したダブルクォートは1つのリテラルクォートを表す)を含めることができます。Excelのエクスポートや複数行の住所フィールドも正しく処理されます。
オブジェクトの配列(デフォルト)はヘッダー行をキーとして使います:
[{"name":"Alice","age":30}]。ほとんどのAPIやライブラリが期待する形式です。配列の配列は生の行を保持します:[["name","age"],["Alice","30"]]、データグリッドや行列演算に便利です。Excelのセルを選択してCtrl+Cを押します(タブ区切り値としてコピーされます)。入力ボックスに貼り付けると、自動検出機能がタブ区切り文字を自動的に認識します。また、ExcelファイルをCSVとして保存(ファイル → 名前を付けて保存 → CSV)し、アップロードボタンでアップロードすることもできます。
強制的な上限はありませんが、5 MBを超えるとブラウザが遅くなる場合があります。そのしきい値を超えると警告が表示されます。ライブテーブルプレビューは常にパフォーマンスのために最初の50行に制限されます。変換出力は常に完全です。