JSONとCSVの違いとは?初心者でもわかる特徴・使い分け・IT現場での利用例を解説
結論として、JSON(JavaScript Object Notation)はシステム同士でデータをやり取りするためのデータ形式、CSV(Comma-Separated Values)は表形式のデータを保存・交換するためのファイル形式です。
どちらもデータを扱うための形式ですが、用途は大きく異なります。JSONはAPIやWebサービスでよく利用され、CSVはExcelや業務システム間のデータのインポート・エクスポートで広く使われています。
JSONとは
JSONとはJavaScript Object Notationの略で、データを「項目名(キー)」と「値(バリュー)」の組み合わせで表現するデータ形式です。
人が読みやすく、プログラムでも扱いやすいため、REST APIやクラウドサービスなどで標準的に利用されています。
例えば、社員情報であれば「社員番号」「氏名」「部署」「メールアドレス」などを1つのデータとしてまとめて表現できます。
CSVとは
CSVとはComma-Separated Valuesの略で、データをカンマ(,)で区切って保存するファイル形式です。
Excelで開いて編集できるため、業務システムでのデータ移行や一括登録、バックアップなどによく利用されています。
CSVは表(テーブル)のような構造を持つシンプルな形式です。
JSONとCSVの違い
| 比較項目 | JSON | CSV |
|---|---|---|
| 正式名称 | JavaScript Object Notation | Comma-Separated Values |
| 用途 | システム間のデータ連携 | 表形式データの保存・交換 |
| データ構造 | 階層構造に対応 | 表形式のみ |
| 読みやすさ | 項目名が分かりやすい | Excelで見やすい |
| 主な利用先 | REST API、Webサービス | Excel、業務システム |
| 複雑なデータ | 扱える | 苦手 |
イメージすると理解しやすい例
JSONは社員一人ひとりのプロフィールカードのようなイメージです。
1人の社員に対して、氏名、部署、電話番号、住所など複数の情報をまとめて管理できます。
CSVは社員一覧表のようなイメージです。
行が社員、列が項目となり、多くのデータを一覧で確認できます。
JSONがよく使われる場面
- REST API
- Webサービス
- スマートフォンアプリ
- クラウドサービス
- システム間のデータ連携
現在のWebシステムではJSONが標準的なデータ形式です。
CSVがよく使われる場面
- Excelでのデータ編集
- 社員情報の一括登録
- 売上データの出力
- 商品マスターの登録
- システム移行
- データバックアップ
JSONが選ばれる理由
- 階層構造を表現できる
- APIとの相性が良い
- データの意味が分かりやすい
- プログラムで扱いやすい
- 複雑なデータにも対応できる
CSVが選ばれる理由
- Excelで開ける
- データ編集が簡単
- 多くのシステムで対応している
- ファイルサイズが小さい
- 一括登録や一括更新に向いている
IT現場での利用例
- APIからJSON形式で社員情報を取得する
- CSVで社員マスターを一括登録する
- 売上データをCSVで出力してExcelで集計する
- クラウドサービスからJSONを受信する
- システム移行時にCSVでデータを受け渡す
JSONとCSVは競合するものではなく、用途に応じて使い分けられています。
初心者が混乱しやすいポイント
- JSONとCSVはどちらもデータ形式だが用途が違う
- CSVはAPIの通信にはあまり使われない
- JSONはExcelで直接編集する用途には向かない
- CSVは階層構造を表現できない
- JSONは項目名を持つため意味が分かりやすい
業務でよくあるトラブル例
ケース1:CSVを取り込めない
原因例
- 列の順番が違う
- 項目数が一致しない
- 文字コードが異なる
ケース2:JSONを読み込めない
原因例
- 構文エラー
- 項目名の誤り
- API仕様変更
ケース3:文字化けする
原因例
- UTF-8とShift_JISの違い
- Excelの保存形式
- システム側の文字コード設定
確認する順番
- JSONかCSVか確認する
- システム仕様を確認する
- 文字コードを確認する
- データ形式が正しいか確認する
- エラーログを確認する
- サンプルデータと比較する
影響範囲の考え方
| 症状 | 考えられる原因 |
|---|---|
| CSVだけ取り込めない | 列順や文字コードの問題 |
| JSONだけ読み込めない | JSON構文エラー |
| 一部データだけ失敗する | データ不備 |
| すべて失敗する | システム障害、設定変更 |
原因の切り分け
| 確認項目 | 内容 |
|---|---|
| ファイル形式 | JSONかCSVか |
| 文字コード | UTF-8、Shift_JISなど |
| データ内容 | 項目不足、形式不一致 |
| システム側 | 仕様変更、インポート設定 |
| API側 | JSON仕様変更 |
ログの確認方法
- アプリケーションログ
- APIログ
- インポートログ
- エラーログ
- システムログ
エラーメッセージや処理対象の行番号を確認すると、原因を特定しやすくなります。
イベントビューアーで確認する場合
Windows ServerでCSVの取り込みツールやAPIが動作している場合は、イベントビューアーでエラーを確認できます。
- Windowsキーを押す
- 「イベントビューアー」を開く
- 「Windowsログ」を選択する
- 「アプリケーション」または「システム」を確認する
- エラーや警告の内容を確認する
コマンドプロンプトで確認できること
- type(CSV内容の確認)
- find(文字列検索)
- fc(ファイル比較)
- chcp(文字コード確認)
PowerShellで確認できること
- Import-Csv(CSVの読み込み確認)
- ConvertFrom-Json(JSONの解析確認)
- Get-Content(ファイル内容確認)
- Test-Path(ファイル存在確認)
初心者がやりがちなミス
- CSVをExcel形式(.xlsx)と同じだと思う
- JSONをExcelで編集しようとする
- 文字コードを確認しない
- CSVの列順を変更してしまう
- JSONの項目名を勝手に変更する
筆者の現場経験
社内SEとして社員情報の一括登録を担当した際、CSVの列順が1列ずれていたため、社員番号と氏名が入れ替わって取り込まれたことがありました。
また、API連携ではJSONの項目名が仕様書と異なっていたため、データを取得できなかったこともあります。
どちらもファイルやデータ形式を確認すれば防げるトラブルだったため、まずは仕様書やサンプルデータと比較することの重要性を実感しました。
上司へ報告するポイント
- JSONかCSVのどちらで問題が発生しているか
- 発生時刻
- 対象ファイル名
- エラーメッセージ
- 確認した内容
- 影響を受けるデータ件数
エスカレーションするタイミング
- 大量データの取り込みに失敗した
- データ破損の可能性がある
- システム仕様と一致しているのにエラーになる
- 複数システムへ影響している
- 原因を特定できない
関連するIT用語
- REST API
- XML(Extensible Markup Language)
- API(Application Programming Interface)
- UTF-8
- Shift_JIS
- Excel
- インポート
- エクスポート
- データマッピング
- 文字コード
よくある質問(FAQ)
JSONとCSVはどちらが優れていますか?
用途によって異なります。APIやシステム連携にはJSON、一括登録やExcelでの編集にはCSVが適しています。
CSVはExcelファイルと同じですか?
いいえ。CSVはテキストファイルの一種で、データをカンマ区切りで保存します。一方、Excelファイル(.xlsx)は書式や数式なども保存できる専用形式です。
JSONはExcelで開けますか?
開くことはできますが、表形式で見やすく編集する用途には向いていません。JSONはプログラムによる処理やAPIでのデータ交換を目的とした形式です。
まとめ
JSONはシステム同士がデータをやり取りするためのデータ形式、CSVは表形式のデータを保存・交換するためのファイル形式です。
REST APIやクラウドサービスではJSONが主流ですが、社員情報や商品マスターの一括登録、売上データの出力などではCSVが広く利用されています。
IT業務では「APIならJSON」「Excelで編集・一括登録ならCSV」という基本的な使い分けを理解しておくことで、システム連携やデータ移行、障害対応をスムーズに進められるようになります。
