tigtools

JSONからCSVへの変換ツール

JSON配列を貼り付けると、Excel、Google Sheets、LibreOfficeで開けるCSVテーブルに変換できます。変換はブラウザー内で行われます。

ブラウザー内で動作 登録不要

区切り文字

使い方

  1. オブジェクトのJSON配列を貼り付けるか、.jsonファイルを開くか、「例を試す」を押します。
  2. スプレッドシートに合わせて区切り文字と、オブジェクト内の配列の出力方法を選びます。
  3. CSVのプレビューを確認します。各オブジェクトが1行になり、ネストされたフィールドは address.city などの列になります。
  4. 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の結果がアップロード、保存されたり、分析に使用されたりすることはありません。