renue

ARTICLE

JSONとは?意味・書き方・XML/CSVとの違い・API活用をわかりやすく解説

公開日: 2026/4/4

はじめに:JSONはデータ交換の「世界共通語」

Webアプリケーション、モバイルアプリ、AIサービス——現代のソフトウェアがデータをやり取りする際に最も広く使われているフォーマットが「JSON」です。REST APIのレスポンス、設定ファイル、NoSQLデータベースのデータ構造など、JSONはプログラミングの至る所に登場します。

本記事では、JSONの基本概念、書き方、XMLやCSVとの違い、API連携での活用、さらにAI開発でのJSON活用まで、体系的に解説します。

第1章:JSONの定義と基本概念

JSONとは何か

JSON(JavaScript Object Notation:ジェイソン)とは、データを構造化して表現するための軽量なテキストベースのフォーマットです。名前に「JavaScript」とありますが、特定のプログラミング言語に依存せず、Python、Java、Go、PHP、Ruby等のほぼ全ての言語で読み書きが可能です。

JSONの最大の特徴は「人間にも機械にも読みやすい」ことです。XMLと比較してタグの記述が不要で簡潔であり、CSVと比較して階層構造(ネスト)を表現できます。

JSONの基本構文

JSONは「キー(名前)と値のペア」でデータを表現します。

基本ルール:

  • キーは必ずダブルクォーテーション(")で囲む
  • キーと値はコロン(:)で区切る
  • 複数のペアはカンマ(,)で区切る
  • オブジェクトは波括弧 { } で囲む
  • 配列は角括弧 [ ] で囲む

JSONで使えるデータ型

  • 文字列:ダブルクォーテーションで囲む(例:"東京")
  • 数値:整数・小数(例:42、3.14)
  • 真偽値:true または false
  • null:値がないことを示す
  • オブジェクト:{ } で囲まれたキーと値のペアの集合
  • 配列:[ ] で囲まれた値の順序付きリスト

第2章:JSONとXML・CSVの比較

JSON vs XML

  • 記述量:JSONはXMLより簡潔。XMLは開始タグ・終了タグが必要でテキスト量が多い
  • 可読性:JSONの方が人間にとって読みやすい
  • パース速度:JSONの方が高速にパース(解析)できる
  • スキーマ:XMLはXSDによる厳格なスキーマ検証が可能。JSONはJSON Schemaで対応
  • コメント:XMLはコメント記述可能。JSON標準にはコメント機能がない
  • 用途:JSONはAPI通信・設定ファイル、XMLはSOAP・SVG・設定ファイル

2026年現在、新規のWeb API開発ではJSONがデファクトスタンダードであり、XMLが選択されるのはレガシーシステムとの互換性が必要な場合に限られます。

JSON vs CSV

  • 構造化:JSONは階層構造(ネスト)を表現可能。CSVはフラットな表形式のみ
  • データ型:JSONは文字列・数値・真偽値・null等を区別。CSVは全てテキスト
  • ファイルサイズ:同じデータ量ではCSVの方が小さい
  • 可読性:表形式データはCSVの方が見やすい。構造化データはJSONの方が見やすい
  • 用途:JSONはAPI・設定・NoSQL、CSVはデータ移行・帳票・Excel連携

第3章:JSONの活用シーン

REST API通信

REST APIのリクエストボディとレスポンスボディは、JSONが事実上の標準フォーマットです。クライアント(フロントエンド)とサーバー(バックエンド)間のデータ交換にJSONが使われます。

設定ファイル

package.json(Node.js)、tsconfig.json(TypeScript)、settings.json(VS Code)など、多くの開発ツールの設定ファイルにJSONが採用されています。

NoSQLデータベース

MongoDB、Firebase Firestore、Amazon DynamoDB等のNoSQLデータベースは、JSON(またはBSON)形式でデータを保存・検索します。

AIサービスとの連携

OpenAI API、Claude API等のAIサービスとの通信はJSON形式で行われます。プロンプトの送信もAIの応答もJSON構造であり、AIエージェント開発においてJSONの理解は必須です。

renueでは、AIエージェントの開発においてJSON形式のAPIリクエスト・レスポンス設計を日常的に行っています。OpenAI Agents SDKのツール定義、関数呼び出しのパラメータ、構造化出力(Structured Outputs)など、AIとJSONは不可分の関係にあります。

第4章:JSONの書き方のベストプラクティス

  • キー名はキャメルケース:firstName、lastName等。スネークケース(first_name)も一般的だが、プロジェクト内で統一することが重要
  • 一貫したデータ型:同じキーには常に同じデータ型の値を格納。nullと文字列を混在させない
  • 日付のフォーマット:ISO 8601形式("2026-04-04T00:00:00Z")を推奨
  • ネストの深さを制限:3〜4階層以内が読みやすさの目安。深すぎるネストはデータ設計の見直しを検討
  • バリデーション:JSON Schemaを使ってデータの構造・型・必須項目を定義し、不正なデータを事前に検出

第5章:JSONの注意点

コメントが書けない

JSON標準にはコメント機能がありません。設定ファイルでコメントが必要な場合は、JSONC(JSON with Comments)やYAML等の代替フォーマットを検討します。

末尾カンマ(トレイリングカンマ)

JSON標準では、最後の要素の後にカンマを付けるとパースエラーになります。JSONCやJavaScriptではトレイリングカンマが許容されますが、厳格なJSONでは不可です。

大規模データの処理

巨大なJSONファイル(数GB以上)は一度にメモリに読み込むと問題が生じます。ストリーミングパーサー(ijson等)やNDJSON(改行区切りJSON)形式を使用して、行単位で処理するアプローチが推奨されます。

セキュリティ

外部から受け取ったJSONデータは必ずバリデーションを行い、SQLインジェクションやコードインジェクションの攻撃ベクトルにならないよう注意します。

第6章:JSON関連ツール

  • JSONフォーマッター:圧縮されたJSONを人間が読みやすく整形。jsonformatter.org、jq(CLI)
  • JSONバリデータ:JSONの構文エラーを検出。jsonlint.com
  • JSON Schema:JSONデータの構造を定義するスキーマ言語。APIのリクエスト/レスポンス仕様書として活用
  • JSON Viewer(ブラウザ拡張):ブラウザでAPIレスポンスのJSONを見やすく表示
  • jq:コマンドラインでJSONを加工・フィルタリングする強力なツール

よくある質問(FAQ)

Q1: JSONは何と読みますか?

「ジェイソン」と読みます。英語圏でも同じ発音です。

Q2: JSONファイルの拡張子は?

.json です。MIMEタイプは application/json です。

Q3: JSONはプログラミング言語ですか?

いいえ。JSONはデータフォーマット(データの表現形式)であり、プログラミング言語ではありません。ロジックの記述はできず、データの構造を定義するためだけに使われます。

Q4: JSONとYAMLの違いは?

YAMLはJSONのスーパーセット(上位互換)で、コメント記述やインデントベースの記法が可能です。Kubernetes、Docker Compose、GitHub Actions等の設定ファイルで広く使われています。JSONより人間可読性が高いですが、インデントに厳格でパースが複雑です。

Q5: APIでJSONを扱うのに特別な知識は必要ですか?

基本的なキーと値のペア、配列、ネスト構造を理解すれば十分です。ほぼ全てのプログラミング言語にJSONのパース/生成ライブラリが標準搭載されています。

Q6: JSONはどこで学べますか?

MDN Web Docs、json.org(公式サイト)が信頼性の高い情報源です。実践的には、ブラウザの開発者ツールでAPIレスポンスのJSONを観察したり、PostmanでAPIリクエストを送信してJSONの構造に慣れることが効果的です。

API開発・AIエージェント構築をご支援します

renueでは、REST API設計、JSON Schemaによるデータ仕様定義、AIエージェントの構造化出力設計を支援しています。データ連携基盤の構築を、伴走型でサポートいたします。

無料相談はこちら →