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
ステップバイステップのプロセス
- すべてのユニークなキーを収集する。 配列内のすべてのオブジェクトを反復処理し、すべてのプロパティ名の和集合を構築します。これがヘッダー行になります。
- ヘッダーを書き込む。 キーをカンマ(または選択したデリミタ)で結合し、最初の行として出力します。
- 各オブジェクトをシリアライズする。 各オブジェクトについて、各ヘッダーキーを検索して対応する値を出力します。キーがオブジェクトに存在しない場合は空文字列を出力します。
- 特殊文字をエスケープする。 値にカンマ、ダブルクォート、改行が含まれる場合は、ダブルクォートで囲みます。
型の違いの処理
JSONはboolean、数値、null、ネストされたオブジェクト、配列をサポートしますが、CSVはプレーンテキストです。一般的な変換戦略:
| JSON型 | CSV表現 |
|---|---|
string |
そのまま(デリミタを含む場合はクォート) |
number |
数値文字列 |
boolean |
"true" または "false" |
null |
空文字列 |
object/array |
JSON文字列化またはフラット化 |
ユースケース
Node.jsダッシュボードAPIから分析データをCSV形式でエクスポートし、ExcelやGoogle Sheetsでデータ分析を行う関係者に提供する場合に使用します。