メインコンテンツに移動

JSON を CSV に変換

コンバーターは JSON のオブジェクト配列を受け取り、オブジェクトごとに 1 行の CSV を書き出します。レコードのキーが完全にそろっていることはまれなので、このガイドでは列の決まり方と、空いた部分が何で埋まるかを示します。

変換例

入力 (JSON)
[
  {"id": 1, "name": "Smith, Jane", "tags": ["admin", "ops"]},
  {"id": 2, "name": "Kim", "email": "[email protected]"},
  {"id": 3, "name": "Lee", "email": null}
]
出力 (CSV)
id,name,tags,email
1,"Smith, Jane","admin,ops",
2,Kim,,[email protected]
3,Lee,,

ヘッダー行には、すべてのキーが最初に現れた順に並びます。id、name、tags、そして 2 つ目のオブジェクトにある email です。Smith には email がなく、Lee の email は null なので、どちらのセルも空になります。tags 配列は admin,ops として書き出され、区切り文字を含むため "Smith, Jane" と同様にダブルクォートで囲まれます。

コンバーターの処理ルール

  • 入力は [{...}, {...}] のような JSON 配列である必要があります。単独のオブジェクトはエラーになります。
  • 列はすべてのオブジェクトのキーを合わせたもので、各キーが最初に現れた順に並びます。
  • キーが存在しない場合や値が null の場合、セルは空になります。
  • 数値と真偽値は、42 や true のようにそのままのテキストとして書き出されます。
  • 単純な値の配列は、要素をカンマでつないだ形で書き出されます。ネストしたオブジェクトや、オブジェクトを含む配列は、セル内にコンパクトな JSON として書き出されるため、データが失われることはありません。列を分けたい場合は、先に(例:address_city のように)平坦化してください。
  • 区切り文字、引用符、改行を含む値はダブルクォートで囲まれ、内部の引用符は 2 つ重ねられます。

その他の変換ガイド