JSONとCSVの違いと相互変換|どちらで持つべきか
APIのレスポンスはJSON、Excelで開く表はCSV——同じデータでも形が違うと扱いやすさが変わります。JSONとCSVの違い、向いている場面、相互変換でつまずきやすいポイントをまとめます。
JSONとCSVは「データの形」が違う
CSVは行と列からなる「表」の形式です。1行が1件のデータで、列が項目に対応します。シンプルで、ExcelやBIツールにそのまま読み込めるのが強みです。一方JSONは、キーと値の組み合わせで、入れ子(階層)や配列も表現できる柔軟な形式です。
同じ「ユーザー一覧」でも、CSVはフラットな表として、JSONは1人ごとのまとまり(オブジェクト)の集まりとして持ちます。フラットな表に収まるデータならCSV、階層や繰り返しを含むならJSON、という見方をすると整理しやすくなります。
CSVが向いている場面
顧客リスト、売上明細、在庫表のように、項目が決まっていて1件1行で収まるデータはCSVが快適です。Excelで開いて並べ替え・集計したり、スプレッドシートやBIツール、データベースへ取り込んだりする用途では、CSVのほうが手数が少なくて済みます。
関係者にデータを渡して目視で確認してもらいたい場面でも、表として開けるCSVは説明が要りません。「Excelで開ける形でほしい」と言われたら、まずCSVを考えると間違いが少ないです。
JSONが向いている場面
1件の中に「複数の住所」「タグの配列」「入れ子の設定」などを持つデータは、表に押し込むと無理が出ます。こうした階層・繰り返しを含むデータはJSONが自然です。WebのAPIや設定ファイル、アプリ間のデータ受け渡しでJSONがよく使われるのはこのためです。
プログラムで扱う前提のデータも、型や構造を保ったまま渡せるJSONが向いています。フラットな表に収まらない、または収めると情報が落ちてしまう場合は、CSVより先にJSONを検討するとよいでしょう。
相互変換でつまずきやすいポイント
JSON→CSVで一番つまずくのが、入れ子や配列の扱いです。階層を持つJSONを無理に表へ落とすと、列がうまく決まらなかったり、配列が1セルに詰め込まれたりします。先にどのキーを列にするかを決め、ネストを平らに展開してから変換すると崩れにくくなります。
逆にCSV→JSONでは、CSVには型がないため、数値や真偽値がすべて文字列として出力されがちです。変換後に必要な項目だけ型を整える前提で進めると、後工程でのトラブルを減らせます。
ブラウザで相互変換する
当サイトの「JSONをCSVに変換」「CSVをJSONに変換」ツールは、どちらもブラウザ内で処理します。ファイルを外部サーバーに送らないので、業務データや個人情報を含むデータでもそのまま変換できます。
APIから取得したJSONを表で確認したいときはJSON→CSV、Excelで作った表をプログラムに渡したいときはCSV→JSON、と使い分けると作業がスムーズです。さらに分析基盤に載せるなら、CSV→Parquet変換も合わせて使えます。
まとめ:表ならCSV、構造ならJSON
フラットな表に収まり、人が開いて確認するデータはCSV、階層や配列を含みプログラムで扱うデータはJSON、と覚えておくと選びやすくなります。どちらで受け取っても、必要に応じて相互変換すれば目的の形にできます。
JSON⇄CSVの変換は、当サイトで無料・登録不要・ブラウザ内処理で利用できます。データの用途に合わせて形を整えてみてください。