JSONとCSVの違いとは?初心者でもわかる特徴・使い分け・IT現場での利用例を解説

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の保存形式
  • システム側の文字コード設定

確認する順番

  1. JSONかCSVか確認する
  2. システム仕様を確認する
  3. 文字コードを確認する
  4. データ形式が正しいか確認する
  5. エラーログを確認する
  6. サンプルデータと比較する

影響範囲の考え方

症状 考えられる原因
CSVだけ取り込めない 列順や文字コードの問題
JSONだけ読み込めない JSON構文エラー
一部データだけ失敗する データ不備
すべて失敗する システム障害、設定変更

原因の切り分け

確認項目 内容
ファイル形式 JSONかCSVか
文字コード UTF-8、Shift_JISなど
データ内容 項目不足、形式不一致
システム側 仕様変更、インポート設定
API側 JSON仕様変更

ログの確認方法

  • アプリケーションログ
  • APIログ
  • インポートログ
  • エラーログ
  • システムログ

エラーメッセージや処理対象の行番号を確認すると、原因を特定しやすくなります。

イベントビューアーで確認する場合

Windows ServerでCSVの取り込みツールやAPIが動作している場合は、イベントビューアーでエラーを確認できます。

  1. Windowsキーを押す
  2. 「イベントビューアー」を開く
  3. 「Windowsログ」を選択する
  4. 「アプリケーション」または「システム」を確認する
  5. エラーや警告の内容を確認する

コマンドプロンプトで確認できること

  • 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」という基本的な使い分けを理解しておくことで、システム連携やデータ移行、障害対応をスムーズに進められるようになります。

コメント

タイトルとURLをコピーしました