JSON配列からCSVへの変換

JSONオブジェクトの配列をCSV形式に変換する方法。ヘッダー用のキー抽出、値のシリアライズ、オブジェクト間のプロパティ差異の処理を解説。

Basic Conversion

詳細な説明

JSONからCSVへの変換

JSONオブジェクトの配列をCSVに変換するのは、一般的なCSVからJSONへのワークフローの逆です。このプロセスでは、潜在的に異なるオブジェクトから一貫したカラムヘッダーのセットを抽出する必要があります。

入力JSON

[
  { "id": 1, "product": "Widget", "price": 9.99, "inStock": true },
  { "id": 2, "product": "Gadget", "price": 24.50, "inStock": false },
  { "id": 3, "product": "Doohickey", "price": 4.75, "inStock": true }
]

出力CSV

id,product,price,inStock
1,Widget,9.99,true
2,Gadget,24.50,false
3,Doohickey,4.75,true

ステップバイステップのプロセス

  1. すべてのユニークなキーを収集する。 配列内のすべてのオブジェクトを反復処理し、すべてのプロパティ名の和集合を構築します。これがヘッダー行になります。
  2. ヘッダーを書き込む。 キーをカンマ(または選択したデリミタ)で結合し、最初の行として出力します。
  3. 各オブジェクトをシリアライズする。 各オブジェクトについて、各ヘッダーキーを検索して対応する値を出力します。キーがオブジェクトに存在しない場合は空文字列を出力します。
  4. 特殊文字をエスケープする。 値にカンマ、ダブルクォート、改行が含まれる場合は、ダブルクォートで囲みます。

型の違いの処理

JSONはboolean、数値、null、ネストされたオブジェクト、配列をサポートしますが、CSVはプレーンテキストです。一般的な変換戦略:

JSON型 CSV表現
string そのまま(デリミタを含む場合はクォート)
number 数値文字列
boolean "true" または "false"
null 空文字列
object/array JSON文字列化またはフラット化

ユースケース

Node.jsダッシュボードAPIから分析データをCSV形式でエクスポートし、ExcelやGoogle Sheetsでデータ分析を行う関係者に提供する場合に使用します。

試してみる — CSV ↔ JSON Converter

フルツールを開く