APIから取得したJSONや、システムから渡された.jsonファイルをExcelで見たいことがあります。ただ、JSONをそのままExcelで開いても、行と列にきれいに並ぶとは限りません。

ポイントは、JSONの中身が表にできる形かどうかです。たとえば商品の情報がオブジェクトの配列になっていれば、1商品をCSVの1行、各項目を列として保存できます。

Browser Kittyの「JSON / YAML / CSV Viewer」では、JSONを読み込んで表を確認し、CSVに変換して保存できます。ファイルは編集用サーバーへアップロードしません。ここでは、変換できない形やExcelで値が変わるケースまで確認します。

JSON / YAML / CSV Viewerを開く

1. CSVにしやすいJSONの形を確認する

たとえば商品データが [{"id":"A001","name":"りんご","price":120},{"id":"A002","name":"みかん","price":150}] なら、CSVには id,name,price という見出しと、A001・りんご・120などの行ができます。JSONのオブジェクト1件がCSVの1行です。

このViewerではオブジェクトの配列のほか、単純な値の配列や、各キーが配列になっているオブジェクトも表形式にできます。一方、通常の1個のオブジェクトや、メタ情報と配列が混在したオブジェクトは、そのままではCSVにできません。

JSONに .json という拡張子が付いているだけでは、表として扱えるかは決まりません。ファイルを読み込んだあとの「表」表示を先に確認するのが確実です。

このViewerでCSVにできる主なJSON構造
JSONの形CSV保存確認点
[{"id":"A001"},{"id":"A002"}]できる各オブジェクトが1行になる
["赤","青"]できるvalue列が1つ作られる
{"id":["A001"],"price":[120]}できる配列ごとに列を作る
{"id":"A001","price":120}できない単一オブジェクトを行へ自動変換しない
{"count":1,"items":[{"id":"A001"}]}できない配列と別の値が混在した構造

2. JSONファイルをブラウザで読み込む

「JSON / YAML / CSV Viewer」を開き、.jsonファイルを選択するか、PCで画面へドラッグ&ドロップします。登録・インストールは必要ありません。

読み込みに成功すると、ファイル名、形式、データの概要が表示されます。形式がJSONとして認識されていることを確認してください。壊れたJSONは自動修復されないため、構文エラーが出たときは元ファイルを直す必要があります。

1回に読み込めるファイルは1つで、上限は50 MBです。大量のデータや深い階層では、表示や解析が端末のメモリに左右されます。

3. 「表」で行と列を確認する

画面の「表」タブへ切り替えます。商品のオブジェクト配列なら、id、name、priceが列になり、商品ごとの値が行に並びます。JSONのキーが行によって異なる場合は、各行に現れたキーをまとめて列見出しに使います。

見出しと行数が想定どおりか、最初の数行を確認します。別の形式のデータや単一オブジェクトでは表にできないことがあり、その場合はCSV保存も利用できません。

配列の中身が商品一覧なのか、ログの時系列なのかなど、データの意味はViewerが自動判定するわけではありません。列名と値を見て判断してください。

4. 欠損値や型の混在を確認する

保存前に「解析」を開くと、列ごとの型、欠損数、ユニーク数などを確認できます。ある行だけpriceがなければ、CSVではそのセルが空欄になります。JSONのnullもCSVでは空欄になるため、出力後には両者を区別できません。

同じprice列に120と"未設定"のような数値と文字列が混在している場合も、そのままCSVの値として保存されます。表計算ソフト側で集計する予定なら、変換前に型の混在を見つけておく方が安心です。

この機能は品質チェックであり、欠けた値を自動補完したり、複数の型を正しい値へ自動修正したりするものではありません。

5. 「変換 / 保存」からCSVをダウンロードする

内容を確認したら「変換 / 保存」を開き、「CSV」を選びます。表にできるデータなら、その場でCSVファイルが作成されてダウンロードされます。元の.jsonファイルが上書きされることはありません。

書き出すCSVはカンマ区切り、改行はCRLF、文字コードはUTF-8(BOM付き)です。日本語を含むCSVをExcelなどへ取り込むとき、BOMが文字コードを見分ける手掛かりになります。

保存できるのは .csv であり、Excel形式の .xlsx を直接作る機能ではありません。表として確認したあと、必要ならExcelで開いて.xlsxとして保存してください。

6. ExcelではIDや先頭の0に注意する

CSVをExcelでダブルクリックして開くと、Excelが列を数値や日付として自動判定する場合があります。たとえば商品コード"00123"が123になったり、長い番号が指数表記になったりするのは、JSONからCSVへ変換した段階ではなく、Excelで読み込む際に起こることがあります。

商品コード・郵便番号・長いIDなど、文字列のまま残したい列があるときは、Excelの「データ」→「テキストまたはCSVから」で読み込み、対象列をテキスト型として扱う方法を検討してください。操作名はExcelのバージョンで異なる場合があります。

また、外部から受け取ったJSONに、「=」で始まる文字列などが含まれている場合、CSVを開く表計算ソフトで数式として解釈されることがあります。信頼できないデータは、そのまま実行対象の表へ読み込まないよう注意してください。

7. 入れ子のJSONは自動で列に展開されない

たとえば各レコードに {"user":{"name":"Aki"}} が入っている場合、CSVにはuser列ができ、そのセルに {"name":"Aki"} のようなJSON文字列が入ります。user.nameという列へ自動展開するわけではありません。

また、{"count":1,"items":[{"id":"A001"}]} のように、配列の外側にメタデータが付いたJSONは、そのままでは表にできません。itemsの配列だけを別のJSONファイルとして用意してから読み込む必要があります。

「表」に変換できないときは、エラーを避けるためにデータを適当に削るのではなく、CSVにしたいレコードと残すべき階層情報を先に決めてください。階層を保つ必要があるデータは、無理にCSVへ変換しない選択もあります。

8. JSONとCSVを往復変換すると、何が変わる?

JSONには数値・文字列・真偽値・null・配列・オブジェクトの区別がありますが、CSVは基本的に行と列のテキストです。CSVを別のアプリで開き直したときに、元の型や入れ子構造を完全に復元できるとは限りません。

このViewerはCSV内のカンマや引用符を規則に従って扱い、値にカンマ・改行・引用符がある場合は引用符で囲って出力します。ただし、CSVとして正しく保存されることと、元JSONを情報の損失なく再現できることは別です。

元のJSONは残し、CSVは確認・集計・他システムへの受け渡し用の別ファイルとして使うことをおすすめします。

9. JSONの内容はサーバーに送信される?

このViewerでは、ファイルの読み込み、JSON解析、表・ツリー表示、データ品質の確認、CSV生成をブラウザ内で実行します。選択した.jsonファイルを変換用サーバーへアップロードしません。

Web版を最初に開く際にはHTMLの取得通信が必要ですが、変換のための外部APIやCDNは使いません。単一HTML版を保存して対応ブラウザで開けば、インターネット接続なしでも利用できます。

重要なファイルを扱う場合は、変換後にCSVの行数、列名、文字化けや欠損の有無を確認し、元JSONを別途保管してください。

Browser Kittyで試す

JSON / YAML / CSV Viewer

JSON・YAML・CSV・TSV・JSON Linesを、アップロードせずに閲覧・検索・解析・変換できます。

ツールを開くツールの詳細を見る

注意点

  • JSONがオブジェクトの配列なら、まず「表」表示で欲しい列が揃っているか確かめます。
  • CSVはUTF-8(BOM付き)で保存されます。文字コードの問題と、Excelが列を数値・日付に変える問題は別です。
  • JSONのnullと存在しないキーは、CSVではどちらも空欄になる場合があります。必要なら元のJSONを参照してください。
  • 入れ子のオブジェクトがある場合は、自動で列に展開されると考えず、CSVのセルを確認してください。

よくある質問

JSONをCSVに変換できないのはなぜですか?

ルートが単一のオブジェクトなど、表にできない構造の場合はCSV保存が無効になります。オブジェクトの配列など、表形式で扱える部分を独立したJSONとして用意してください。

JSONの入れ子をuser.nameのような列へ自動展開できますか?

いいえ。入れ子のオブジェクトや配列はCSVのセルにJSON文字列として出力されます。列へ分ける場合は、事前にJSONを平坦なオブジェクト配列へ整形してください。

CSVファイルはExcelで開けますか?

はい。UTF-8(BOM付き)のCSVとして保存されます。ただし.xlsxではありません。先頭に0があるIDや日付のような文字列は、Excelのインポート時に文字列として扱う設定を確認してください。

JSONL / NDJSONもCSVへ変換できますか?

はい。1行ごとのJSONを読み込む機能があります。各行がオブジェクトなど表にできる形ならCSVへ保存できます。不正な行がある場合は読み込みに失敗するため、元データを確認してください。

参考資料

JSONからCSVへの変換仕様はアプリの公開READMEと実装に、CSVとExcelでの取り扱いはRFCとMicrosoftの案内に基づきます。