JSON ⇄ CSV 変換
オブジェクトの配列のJSONをCSVに、CSVをJSONに変換します。区切り文字・見出し行・Excel用のBOM付き保存に対応しています。
=・+・-・@・タブ・CRで始まるセルの先頭に ' を付けます。値が変わるため、データ連携用のCSVではオフにしてください(-5 のような数値はそのままです)。
オフの場合はすべて文字列です。オンでも 007 のような先頭が0の値、桁の大きな整数、1.50・1e3 のように書き方が変わる値は文字列のままです。
Excelで開くと文字化けする場合にオンにしてください。コピーした内容には付きません。
使い方
- 変換の向き(JSON → CSV または CSV → JSON)を選びます。
- データを貼り付け、区切り文字と見出し行の有無を選びます。
- 必要に応じてオプション(数式の無効化、数値の変換)を選び、「変換する」を押します。
- 結果を「コピー」するか「ダウンロード」で保存します。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つのセルに入ります。キー名の付け方に決まりがなく、元に戻すときに曖昧になるためです。
データはサーバーに送信されますか?
いいえ。変換はすべてブラウザ内で行い、入力内容を保存・送信することはありません。
関連する使い方ガイド
- JSONのエラー箇所を見つけて直し、整形する方法パーサーが読めなくなる代表的なJSONの書き間違い(引用符・カンマ・コメント・True/False)の見つけ方と直し方、整形・圧縮・ツリー表示の使い方を説明します。
関連ツール
最終更新日: