JSON を CSV に変換
コンバーターは JSON のオブジェクト配列を受け取り、オブジェクトごとに 1 行の CSV を書き出します。レコードのキーが完全にそろっていることはまれなので、このガイドでは列の決まり方と、空いた部分が何で埋まるかを示します。
変換例
[
{"id": 1, "name": "Smith, Jane", "tags": ["admin", "ops"]},
{"id": 2, "name": "Kim", "email": "[email protected]"},
{"id": 3, "name": "Lee", "email": null}
]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 つ重ねられます。