アップロード不要・ブラウザ内で処理

JSONをCSVに変換

JSON内の配列を指定し、ネストした項目を列へ展開してCSVまたはXLSXに保存できます。入力データはサーバーへ送信されません。

ブラウザ内で処理会員登録不要JSONフィールドの列への変換途中までのデータは保存しません

方向を切り替えると、現在の入力・設定・変換結果は消去され、実行中の処理も中止されます。必要な結果は先に保存してください。

JSONを読み込み、CSVまたはXLSXに保存します。

CSVの出力設定
ファイルをドロップするか、データを貼り付けてください。公開URLやサンプルからも読み込めます。
行数0
列数0
文字コード自動
区切り文字自動
問題項目0

ファイルを開いて始める

データは画面表示とは別に読み込みます。会員登録なしで、検索、並べ替え、チェック、修正、保存ができます。

JSONから必要なデータを取り出してCSVにする

最初に、JSONのどの部分を表にするかを決めます。JSON全体を変換するなら、「配列のパス」は空欄にします。配列なら要素ごとに1行、1つのオブジェクトなら1行になります。APIの応答の中から必要な配列だけを取り出す場合は、その配列までのキーをresults.itemsのようにドットでつないで指定します。$.results[*]のようなJSONPath式には対応していません。

入れ子のJSONはどの列に入るか

{"results":{"items":[{"id":"001","customer":{"name":"Ada"},"tags":["new","vip"]}]}}

この例では「配列のパス」にresults.itemsを入力します。「入れ子のオブジェクトをドット区切りの列に展開」にチェックを入れ、「レコード内の配列」は「JSONのまま保持」を選んでください。出力の区切り文字をカンマにすると、次のCSVになります。customerの中にあるnameはcustomer.name列に、tagsの配列は1つのセルに入ります。CSVのセル内で引用符を表すため、引用符が2つずつ並んでいます。

id,customer.name,tags
001,Ada,"[""new"",""vip""]"

展開のチェックを外すと、customer全体がcustomer列にJSON文字列として入ります。展開したまま「カンマで連結」を選ぶと、tagsはnew, vipになります。ただし、要素の中にもカンマがある場合は区切りを見分けられなくなるため、後で配列に戻す用途には向きません。展開を無効にしている間は、入れ子の配列もJSON文字列のまま保持します。

項目がない行やnullは空欄になる

列は、読み取り時に項目が初めて現れた順に並びます。途中の行からactiveという項目が増えた場合は列を追加し、それ以前の行は空欄にします。キーがない場合も、値がnullや空文字列の場合も、CSVでは同じ空欄になります。区別が必要なら元のJSONも残してください。真偽値はtruefalseという文字列で出力します。

数値や文字列だけが並ぶ配列は、valueという1列になります。[[1,2],[3,4]]のような二次元配列も2列には展開せず、各配列を文字列にした2行として読み込みます。また、桁数の多いIDを数値で渡すと、JavaScriptで読み取る際に丸められることがあります。取り込み前のJSONで引用符を付け、文字列にしておいてください。失われた桁を後から復元することはできません。

同じ列名になるキーがあるときは変換を止める

{"customer.name":"literal key","customer":{"name":"nested key"}}

このJSONには、ドットを含むキーcustomer.nameと、customerの中のnameがあります。展開すると両方がcustomer.name列になるため、読み込みを停止します。別々の行に分かれていても同様です。元のキー名を変えるか、展開のチェックを外してから読み込み直してください。列名になるキーが空、または空白だけの場合もエラーになります。読み込みに失敗したときは前のデータを破棄するので、古い結果がそのまま保存されることはありません。

行数と空欄を確認してから保存する

出力の行数が配列の要素数と合っているか、項目が欠けている行でも列がずれていないかを確認します。扱えるのは最大25万件です。それを超える場合はプレビューのみとなり、保存できません。具体的な設定は入れ子のJSONをCSVにする手順JSONサンプルで試せます。逆方向のCSVからJSONへの変換では、型の判定や空欄の扱いを選べます。受け取ったCSVの列数や引用符を調べるにはCSVチェックツールを使ってください。

このツールでできること

JSONをCSVに変換

JSONの書式を確認し、指定した場所にあるデータを表に変換します。入れ子のオブジェクトは「customer.name」のような列に分けられます。配列はJSON文字列として残せるほか、展開がオンの場合は要素をカンマでつなぐこともできます。

使い方

  1. JSONを貼り付けるか、ファイルを開きます。JSON全体を変換する場合は「配列のパス」を空欄にし、一部のデータを取り出す場合は「results.items」のように指定します。
  2. ネストしたオブジェクトを展開するか、レコード内の配列をどう扱うか選びます。
  3. 生成された列と値を確認し、CSVまたはXLSXで保存します。

よくある用途

  • ネストしたJSONを展開し、「customer.name」のような列名を持つCSVに変換する。
  • JSON配列、または「results.items」のようなパスにある配列をCSVに変換する。
  • JSON内の配列をJSON文字列のまま残すか、単純な値として連結して出力する。

ファイルの取り扱いとプライバシー

端末から選択したファイルは、ブラウザ内で読み取ります。ファイルの内容やファイル名をCSV Dockのサーバーへアップロードしたり、アクセス解析へ含めたりしません。公開URLを指定した場合だけ、ブラウザからそのURLへ直接アクセスします。接続先が外部サイトからの読み込みを許可していない場合は利用できません。

対応しているデータと注意点

  • 配列のパスを指定せず、ルートが1つのオブジェクトの場合は1行として扱います。
  • 一部のレコードにしか存在しないキーも列になり、値がないセルは空欄になります。
  • 入れ子の配列は、構造を失わないよう初期設定ではJSON文字列のまま保持します。

よくある質問

深い階層にあるJSON配列を指定できますか?

はい。「results.items」のようにプロパティ名をドットでつないで指定できます。オブジェクトの展開を有効にすると「customer.name」のような列が作られます。

レコード内の配列はどうなりますか?

初期設定では、配列全体をJSON文字列として1つのセルに入れます。オブジェクトの展開がオンの場合は、「レコード内の配列」で「カンマで連結」を選ぶこともできます。

変換したJSONを直接Excelで保存できますか?

はい。列のプレビューを確認した後、XLSXを選んで保存できます。

CSVの困りごとを解決

関連するCSVツール