JSON形式とは?完全ガイド

JSON(JavaScript Object Notation)の基本構造から実践的な使い方まで、初心者にもわかりやすく徹底解説します

基本構造

JSONの基本的な構造とデータ型について学習

書き方ルール

正しいJSON記法とよくあるエラーの回避方法

実践活用

Web開発・API・データ交換での実際の使用例

JSON(JavaScript Object Notation)とは

JSON(JavaScript Object Notation)は、軽量なデータ交換フォーマットです。人間にとって読み書きが容易で、マシンにとっても解析や生成が簡単な構造化データ形式として、現代のWeb開発において標準的に使用されています。

JSONは元々JavaScriptのオブジェクト記法から派生しましたが、現在では言語に依存しない汎用的なデータフォーマットとして、あらゆるプログラミング言語でサポートされています。Web API、設定ファイル、データベース、アプリケーション間のデータ交換など、様々な場面で活用されています。

JSONの特徴
  • 軽量性:XMLと比較して記述量が少なく、データサイズが小さい
  • 可読性:人間が読みやすい構造で、デバッグが容易
  • 汎用性:ほぼ全てのプログラミング言語でサポート
  • 標準化:RFC 7159として国際標準化されている
JSON基本情報
正式名称 JavaScript Object Notation
拡張子 .json
MIMEタイプ application/json
文字エンコーディング UTF-8
標準化 RFC 7159 (2014)

JSONの基本構造

JSONは6つの基本的なデータ型で構成されています

文字列(String)

ダブルクォートで囲まれたUnicode文字の並び

"Hello World"
"こんにちは"
"123"
数値(Number)

整数または浮動小数点数

42
3.14159
-17
1.23e-4
真偽値(Boolean)

true または false の値

true
false
null値

値が存在しないことを表す

null
配列(Array)

角括弧で囲まれた値の順序付きリスト

[1, 2, 3]
["apple", "banana", "orange"]
[true, false, null]
オブジェクト(Object)

波括弧で囲まれたキー:値のペアの集合

{"name": "田中", "age": 30}
{"x": 10, "y": 20}
{"active": true}

JSON書き方の基本ルール

正しいJSON形式で記述するための重要なルールを理解しましょう

正しい書き方
  • キーは必ずダブルクォートで囲む
    {"name": "田中太郎"}
  • 文字列値もダブルクォートで囲む
    {"city": "東京"}
  • 要素間はカンマで区切る
    {"name": "田中", "age": 30}
  • 最後の要素にはカンマを付けない
    {"x": 10, "y": 20}
よくある間違い
  • シングルクォートの使用
    {'name': '田中太郎'} ❌
  • キーのクォート忘れ
    {name: "田中太郎"} ❌
  • 末尾カンマの追加
    {"name": "田中", "age": 30,} ❌
  • コメントの記述
    {"name": "田中" /* コメント */} ❌

実践的なJSON例

実際のWebアプリケーションで使用されるJSONの例を見てみましょう

ユーザー情報のJSON
{
  "id": 12345,
  "name": "田中太郎",
  "email": "zyacheng@gmail.com",
  "age": 30,
  "isActive": true,
  "address": {
    "country": "日本",
    "prefecture": "東京都",
    "city": "渋谷区",
    "zipCode": "150-0001"
  },
  "hobbies": ["読書", "映画鑑賞", "プログラミング"],
  "lastLogin": "2025-01-01T10:30:00Z"
}
商品データのJSON
{
  "products": [
    {
      "id": "P001",
      "name": "ノートパソコン",
      "price": 89800,
      "currency": "JPY",
      "inStock": true,
      "categories": ["電子機器", "コンピュータ"],
      "specifications": {
        "cpu": "Intel Core i7",
        "memory": "16GB",
        "storage": "512GB SSD"
      },
      "rating": 4.5,
      "reviews": 128
    }
  ],
  "totalCount": 1,
  "page": 1
}

JSONと他のデータ形式の比較

JSON、XML、CSVの特徴を比較して、適切な形式を選択しましょう

特徴 JSON XML CSV
可読性 高い 中程度 高い
データサイズ 小さい 大きい 最小
階層構造 対応 対応 非対応
配列サポート ネイティブ 要素の繰り返し 行として表現
データ型 6種類 文字列のみ 文字列のみ
パース速度 高速 中程度 高速
Web API 標準 レガシー 不適切
ブラウザサポート ネイティブ ネイティブ ライブラリ必要
JSON推奨用途
  • Web API
  • 設定ファイル
  • NoSQLデータベース
  • Ajax通信
XML推奨用途
  • 文書構造の表現
  • SOAP API
  • 設定ファイル(複雑)
  • メタデータ
CSV推奨用途
  • 表形式データ
  • データエクスポート
  • スプレッドシート
  • 大量データ処理

JSONの主な使用場面

現代のWeb開発においてJSONが活用される様々な場面を詳しく解説します

Web API

RESTful APIでのデータ交換形式として最も広く使用されています。

使用例:Twitter API、GitHub API
設定ファイル

アプリケーションの設定情報を保存する形式として人気です。

使用例:package.json、tsconfig.json
NoSQLデータベース

MongoDBなどのドキュメント型データベースでネイティブサポート。

使用例:MongoDB、CouchDB
モバイルアプリ

iOSやAndroidアプリでのサーバー通信に標準的に使用。

使用例:React Native、Flutter
フロントエンド開発での活用
  • Ajax通信:サーバーとの非同期データ交換
  • 状態管理:Redux、Vuexでの状態保存
  • ローカルストレージ:ブラウザでのデータ保存
  • 設定ファイル:webpack.config.js、.eslintrc
バックエンド開発での活用
  • API レスポンス:RESTful APIの標準形式
  • ログ出力:構造化ログの記録形式
  • データ移行:システム間のデータ転送
  • キャッシュ:Redisでの複雑なデータ保存

JSON作業に役立つツール

JSON開発を効率化する便利なツールとサービスをご紹介します

オンラインツール
エディタ・IDE
  • Visual Studio Code
    JSON Schema、自動補完対応
  • IntelliJ IDEA
    高度なJSON編集機能
  • Sublime Text
    軽量で高速なJSON編集
ブラウザ拡張
  • JSON Viewer
    Chrome・Firefox対応
  • JSONView
    ブラウザでのJSON表示改善
  • JSON Formatter
    ワンクリックで整形

JSON形式に関するよくある質問

JSON形式について多く寄せられる質問と詳しい回答をまとめました

JSONは文字列形式のデータフォーマットで、JavaScriptオブジェクトはメモリ上のオブジェクトです。

  • JSON:キーは必ずダブルクォートで囲む、関数やundefinedは使用不可
  • JavaScriptオブジェクト:キーのクォートは省略可能、関数やundefinedも使用可能

JSONはJavaScriptオブジェクトの記法をベースにしていますが、より厳密なルールが適用されます。

標準のJSON形式ではコメントは使用できません。JSONの仕様では、コメント記法は定義されていません。

コメントが必要な場合の代替案:

  • 専用キーを使用"_comment": "これはコメントです"
  • JSON5を使用:コメントをサポートするJSON拡張形式
  • JSONC:Visual Studio Codeなどで使用されるコメント付きJSON

はい、JSONは完全にUnicodeをサポートしています。日本語、中国語、絵文字なども問題なく使用できます。

{
"名前": "田中太郎",
"メッセージ": "こんにちは! 😊",
"中文": "你好"
}

ただし、一部の古いシステムでは文字エンコーディングの問題が発生する可能性があるため、UTF-8エンコーディングを使用することを推奨します。

JSON形式自体にサイズ制限はありませんが、使用する環境によって制限があります:

  • ブラウザ:メモリ制限により数百MB程度が実用的
  • Web API:サーバー設定により1MB〜100MB程度
  • データベース:MongoDBは16MB、PostgreSQLは1GB程度
  • ファイルシステム:OSの制限に依存

大きなデータを扱う場合は、ストリーミング処理や分割処理を検討することをお勧めします。

JSONを扱う際のセキュリティ注意点:

  • JSONインジェクション:信頼できないデータをそのままJSONに埋め込まない
  • eval()の使用禁止:JSON.parse()を使用してJSONを解析する
  • データサイズ制限:DoS攻撃を防ぐため適切なサイズ制限を設ける
  • 機密情報の保護:パスワードやAPIキーをJSONに含めない
  • HTTPS使用:JSON通信は必ずHTTPS経由で行う

適切な検証とサニタイゼーションを行うことで、安全にJSONを使用できます。

JSON形式をマスターして開発効率を向上させましょう

JSON(JavaScript Object Notation)は、現代のWeb開発において欠かせないデータ交換形式です。 軽量で読みやすく、ほぼ全てのプログラミング言語でサポートされているため、 API開発、設定ファイル、データベース操作など様々な場面で活用されています。

学習のポイント

基本的な6つのデータ型と正しい記法を理解することが重要です

実践的な活用

Web API、設定ファイル、データベースなど幅広い用途で使用されています

継続的な学習

実際のプロジェクトで使用しながらスキルを向上させていきましょう