使い方
- オブジェクトのJSON配列を貼り付けるか、.jsonファイルを開くか、「例を試す」を押します。
- スプレッドシートに合わせて区切り文字と、オブジェクト内の配列の出力方法を選びます。
- CSVのプレビューを確認します。各オブジェクトが1行になり、ネストされたフィールドは address.city などの列になります。
- CSVをコピーするか、.csvファイルとしてダウンロードします。
仕組み
最上位の配列の各要素が1行になります。列にはすべてのキーが含まれ、キーが最初に現れた順に並びます。そのため、フィールドが異なるオブジェクトも列ごとに揃います。フィールドがない場合や値がnullの場合、セルは空になります。ネストされたオブジェクトはドット区切りのパスで展開されます。{"address": {"city": "Oslo"}} は address.city という列になります。ルートが単一のオブジェクトの場合、結果は1行です。値のみの配列([1, 2, 3] など)は、value という名前の単一列になります。
オブジェクト内の配列は3通りの方法で出力できます。1つのセルにJSONテキストとして出力(["a","b"])、1つのセルに結合して出力(a; b)、または番号付きの列に展開(tags.0、tags.1)します。各行のリストが似たような短い内容の場合は、最後の方法を使ってください。
出力はRFC 4180に準拠しています。フィールドに区切り文字、二重引用符、改行が含まれる場合は二重引用符で囲み、フィールド内の二重引用符は2つにします。行末にはCRLFの改行を使います。ヨーロッパの多くの地域では小数点にカンマを使うため、Excelがカンマではなくセミコロンを想定する場合があります。また、CSVファイルを開くと、Excelによって大きな数値、先頭のゼロ、日付のようなテキストが再変換されることがあります。値を正確に保つ必要がある場合は、ファイルをテキストとしてインポートしてください。2^53を超える数値は、JSONの解析時に精度が失われます。
使用例
APIからユーザー情報をエクスポート
APIから[{"id":1,"name":"Ada","address":{"city":"London"}}, …]が返されます。CSVには id、name、address.city の列が作成され、スプレッドシートですぐに並べ替えやフィルターができます。
カンマや引用符を含むテキスト
Alan "AT" Turing のような名前は "Alan ""AT"" Turing" となり、Wilmslow, Cheshire のような都市名は引用符で囲まれます。そのため、スプレッドシートでも各値がそれぞれのセルに収まります。
ドイツ語版・フランス語版Excelで開く
区切り文字にセミコロンを選び、UTF-8 BOMを有効にします。Excelで列が正しく分割され、ä や é などの文字も文字化けせずに表示されます。
よくある質問
深くネストされたJSONはどうなりますか?
ネストされたオブジェクトは、どの階層でもドット区切りのパスを列名として展開されます。たとえば order.customer.address.zip のようになります。配列は、選択した方法(JSONテキスト、結合した値、または項目ごとの列)で出力されます。
空のセルがあるのはなぜですか?
オブジェクトにキーがない場合、または値がnullの場合、セルは空になります。列はすべてのオブジェクトから作成されるため、一部のオブジェクトにしかないキーも列になります。
どの区切り文字を使えばよいですか?
標準はカンマです。小数点にカンマを使う地域(ヨーロッパやラテンアメリカの多く)でExcelを使う場合はセミコロンを選んでください。データ自体にカンマが多く含まれる場合や、スプレッドシートに直接貼り付ける場合はタブを選ぶと便利です。
CSVをJSONに変換できますか?
はい。このサイトのCSV to JSONコンバーターを使えます。ただし、展開したデータを完全に元に戻すことはできません。ドット区切りの列名は、ネストされたオブジェクトではなく、"address.city" のような通常のキーになります。
プライバシー
変換はブラウザー内で行われます。JSONとCSVの結果がアップロード、保存されたり、分析に使用されたりすることはありません。