ネストされたJSONをCSV用にフラット化する

深くネストされたJSONオブジェクトをフラットなCSV行に変換する方法。ドット表記キー、配列処理戦略、深度制限オプションを解説。

Advanced Conversion

詳細な説明

ネストされたJSONのCSV用フラット化

CSVは本質的にフラットな形式で、各セルには単一の値が格納されます。JSONにネストされたオブジェクトや配列がある場合、テーブル形式の行に変換するためのフラット化戦略が必要です。

フラット化戦略

1. ドット表記キー

最も一般的なアプローチ。ネストされたオブジェクトのキーはドットセパレータで結合されます:

  • address.street{ address: { street: "..." } }
  • meta.created.date → より深いネスト

配列の処理

配列はCSVにはマルチ値セルの概念がないため、特別な課題を提示します:

戦略 ["admin", "active"]の出力
JSON文字列化 "[\"admin\",\"active\"]"
セパレータで結合 "admin;active"
カラムに展開 tags.0,tags.1admin,active
配列要素ごとに1行 各アイテムについて親行を複製

3. 深度制限

深くネストされた構造の場合、最大フラット化深度を設定できます。その深度を超えると値はJSON文字列化されます。

フラット化が適さない場合

一部のJSON構造はCSVにうまくマッピングできません。深い再帰ツリー、異種混合の配列、ポリモーフィックなオブジェクトは、フラットCSVに強制するのではなく、別のエクスポート形式(JSON Lines、Parquetなど)が必要になる場合があります。

ユースケース

各注文にネストされた顧客情報、配送先住所、明細行が含まれるECサイトのAPIから注文データをエクスポートし、BI用のCSVインポートのためにフラット化する場合に使用します。

試してみる — CSV ↔ JSON Converter

フルツールを開く