JSON・CSVの基本と変換のコツ(初心者向け)

仕事でデータをエクスポート・インポートしていると必ず出会うJSONとCSV。 それぞれの特徴と、変換時につまずきやすいポイントを整理します。

JSONとCSVの違い

JSONCSV
形式キーと値のペア({ })、配列([ ])でネスト構造を表現カンマ区切りのテーブル形式(1行=1レコード)
得意なこと階層構造のあるデータ、API連携表形式データ、Excel・スプレッドシートとの相性
人が読みやすいか構造が複雑だと読みにくい単純な表なら読みやすい
主な用途Webサービスの設定ファイル・API通信顧客リスト・売上データなどの表計算

ざっくり言うと、住所録や売上一覧のような「表」で表せるデータはCSV向き、 商品情報のように「1件の中にさらに詳細な内訳がある」ようなデータはJSON向きです。

JSONでよくある構文エラー

エラーの箇所を目で探すのは大変なので、 JSON整形・検証に貼り付けると、構文エラーの位置を示しながらインデント整形してくれます。

CSVでよくある落とし穴

変換の考え方

JSON配列をCSVに変換する場合、配列の1つのオブジェクトが1行に、 オブジェクトの各キーが1つの列(ヘッダー)に対応します。 逆にCSVをJSONにする場合は、1行目のヘッダーがキー名になり、2行目以降の各行が1つのオブジェクトになります。 ネストしたオブジェクトや配列を含むJSONは、そのままでは単純な表にならないため、 変換時にどう平坦化するか(内側のキーをどう列名にするか)を意識する必要があります。 CSV ⇔ JSON 変換では、区切り文字やヘッダーの有無、型変換(数値・真偽値として扱うか)を指定して相互変換できます。

URLやHTMLに埋め込むとき

JSONやCSVの内容をURLパラメータやHTMLにそのまま埋め込むと、記号(& = < など)が 別の意味に解釈されてしまうことがあります。安全に埋め込むには URLエンコード・Base64・HTMLエスケープで変換してから使います。

まとめ

構文チェックは JSON整形・検証、 相互変換は CSV ⇔ JSON 変換、 URLやHTMLへの埋め込みは URLエンコード・Base64・HTMLエスケープ をご利用ください。

ガイド一覧へ戻るツール一覧へ