JSON の行を表計算向け CSV に変換

オブジェクトの JSON 配列を貼り付け、必要なら区切り文字を指定して、表をコピーするか CSV を保存します。行ごとにキーが違ってもよく、入れ子のオブジェクトは JSON テキストとして残ります。

ブラウザ内でローカルに実行

JSON を CSV に変換する方法

JSON 配列を貼り付けると、コピーまたは .csv として保存できる区切りテキストが得られます。見出し行はすべての行のキーを集めたもので、1 行目のキーだけではないため、行ごとに項目が違ってもかまいません。

値は表計算ソフトが期待する形で引用符に包まれ、入れ子のオブジェクトは [object Object] にならず JSON テキストとして残ります。送信は行われず、変換はページ内で完結します。

  1. オブジェクトの JSON 配列をテキスト領域に貼り付けます。
  2. 「Excel/CSV に変換」を押すと、いずれかの行に現れるキーが見出し行になります。順序は最初に現れた順です。
  3. 区切り文字欄は空のままならカンマ、セミコロンや縦棒、タブは \t と入力します。
  4. 結果をコピーするか、kivtools-json-to-csv.csv として保存します。

この変換ツールの動作

列の決まり方

列はすべての行の最上位キーを合わせたものになり、順序は最初に現れた順です。ある行にキーがなければそのセルは空になります。単独の JSON オブジェクトは 1 行として扱い、配列の配列は見出し行なしで書き出します。

[{"a":1},{"a":2,"b":9}] では見出しは a,b で、1 行目は "1,"、2 行目は "2,9" になります。オブジェクト内の項目順は影響しません。キーは名前で対応するため、{"a":1,"b":2} と {"b":3,"a":4} は 1,2 と 4,3 になります。

引用符が必要になる値

セルに区切り文字・引用符・改行が含まれる場合は二重引用符で囲み、内部の引用符は 2 つ重ねます。表計算ソフトが従う規則です。"Smith, John" は ""Smith, John"" になり、改行を含む値もレコードを分断せず 1 セルに収まります。

数値と true/false はそのまま、null と存在しないキーは空セルになります。オブジェクトや配列は圧縮した JSON テキストとして書き出すため、入れ子のデータも [object Object] にならずに残ります。

区切り文字の選び方

欄が空のときはカンマを使います。タブは \t、その他の文字も指定できます。小数点にカンマを使う地域ではセミコロンが一般的です。引用符の処理は選んだ区切り文字に合わせて変わります。

表計算ソフトはカンマまたはセミコロンの CSV を読み取ります。保存されるファイルの先頭には UTF-8 の BOM が付くため、Excel でもアクセント記号や CJK 文字が正しく表示されます。

エラーと上限

JSON が壊れている場合、配列が空の場合、行がオブジェクトでも配列でもない場合は短いメッセージを表示して前の結果を消します。古い表が残ることはありません。変換できるのは JSON 配列のみで、XLSX ブックは生成しません。

5,000 行(約 300 KB)の配列は Chrome で 1 秒ほどで変換され、130 KB のファイルになります。通信は発生しません。

最近使ったツール: