JSON ⇄ CSV 変換

オブジェクトの配列のJSONをCSVに、CSVをJSONに変換します。区切り文字・見出し行・Excel用のBOM付き保存に対応しています。

変換の向き

=・+・-・@・タブ・CRで始まるセルの先頭に ' を付けます。値が変わるため、データ連携用のCSVではオフにしてください(-5 のような数値はそのままです)。

使い方

  1. 変換の向き(JSON → CSV または CSV → JSON)を選びます。
  2. データを貼り付け、区切り文字と見出し行の有無を選びます。
  3. 必要に応じてオプション(数式の無効化、数値の変換)を選び、「変換する」を押します。
  4. 結果を「コピー」するか「ダウンロード」で保存します。ExcelでCSVを開く場合は「BOM付きUTF-8で保存」をオンにしてください。

注意事項

  • 入力は5MBまでです。文字コードはUTF-8のみ対応します(Shift_JISのCSVは読み込めません)。
  • JSON → CSV の入力はオブジェクトの配列です。オブジェクトが1つだけの場合は1行として扱います。それ以外の形(配列の配列、文字列など)はエラーになります。
  • 入れ子のオブジェクト・配列は展開せず、JSON文字列のまま1つのセルに入れます。
  • JSONのnullは空のセル、true/falseは文字の true / false、数値は書かれたまま(1.0 は 1.0)出力します。そのため JSON → CSV → JSON と往復しても、型(数値・真偽値・null)は元に戻りません。
  • CSV → JSON で列数が見出しと違う行は、不足分を空文字にし、超過分は column3 のようなキーで残します(件数を表示します)。見出しが空の列は column番号、重複した見出しは name_2 のような名前にします。
  • 完全に空の行は読み飛ばします。入力欄に貼り付けた改行は、ブラウザの仕様でダブルクォート内も含めてLFになります。

計算・変換の仕組み

CSVはRFC 4180に従います。区切り文字・ダブルクォート・改行(CR・LF)を含む値はダブルクォートで囲み、値の中のダブルクォートは2つ重ねます。出力の改行コードはCRLFです。

見出し行はすべての行のキーを最初に出てきた順に並べたものです。同じオブジェクトに同じキーが重複している場合は最後の値を使います。

CSV → JSON は初期設定ですべての値を文字列にします。郵便番号や電話番号、IDの先頭の0、桁の大きな数値を失わないためです。「数値・true/false・nullを変換する」をオンにすると、true・false・null と、書き直しても同じ文字になる十進数(安全な整数の範囲内)だけを変換します。

「表計算ソフト向けに数式を無効化する」をオンにすると、=・+・-・@・タブ・CRで始まるセルの先頭に ' を付け、表計算ソフトで数式として実行されないようにします(CSVインジェクション対策)。値そのものが変わるため初期設定はオフです。-5 や +81 のような数値だけのセルは変更しません。

よくある質問

ExcelでCSVを開くと文字化けします。

「BOM付きUTF-8で保存(Excel用)」をオンにしてダウンロードし直してください。ExcelはBOMがないUTF-8のCSVを正しく判定できないことがあります。

0から始まる番号が消えてしまいます。

このツールのCSV → JSONでは先頭の0は消えません(文字列のまま残します)。Excelで開いた時点で0が消える場合は、Excelの取り込み機能で列を「文字列」に指定してください。

入れ子になったJSONを列に展開できますか?

展開はしません。入れ子の部分はJSON文字列のまま1つのセルに入ります。キー名の付け方に決まりがなく、元に戻すときに曖昧になるためです。

データはサーバーに送信されますか?

いいえ。変換はすべてブラウザ内で行い、入力内容を保存・送信することはありません。

最終更新日: