JSON概要

  • JSON(JavaScript Object Notation) は、軽量なデータ交換フォーマットです。
  • 人間にとっても読みやすく、機械による解析・生成も容易です。
  • 主に Web API設定ファイル などで利用されます。
  • JavaScriptのオブジェクト表記に由来しますが、言語非依存 であり、ほとんどのプログラミング言語でサポートされています。
  • 拡張子は通常 .json を使用します。

基本構文

  • データは キーと値のペア で表現されます。
  • オブジェクト{} で囲み、キーと値のペアをカンマで区切ります。
  • 配列[] で囲み、値のリストをカンマで区切ります。
  • キーは必ずダブルクォート(”)で囲む必要があります。
  • 値には次のいずれかの型が使えます:

    • 文字列(例: "Alice"
    • 数値(整数または浮動小数点数)
    • 真偽値(true または false
    • オブジェクト
    • 配列
    • null

例:基本的なJSON構造

{
  "name": "Alice",
  "age": 30,
  "isStudent": false,
  "courses": ["Math", "Science"],
  "address": {
    "city": "Tokyo",
    "postalCode": "100-0001"
  },
  "graduated": null
}

JSONの特徴

  • データ構造がシンプルかつ柔軟で、ネスト構造(入れ子)も可能です。
  • 可読性が高く、XMLに比べて冗長性が低い点が特徴です。
  • プログラム内で直接扱えるデータ形式であり、構造化データの交換に適しています。
  • 文字コードはUTF-8が一般的に使われます。

JSONの利用例

  • Web APIのリクエスト・レスポンス形式(例: REST API)
  • JavaScriptやTypeScriptでのオブジェクトデータ表現
  • 各種ツールやライブラリの設定ファイル(例: package.json, tsconfig.json
  • データベースのエクスポート/インポート形式(例: MongoDB)
  • クライアントとサーバ間のデータ交換(HTTP経由)

JSONのパースと生成

各言語にはJSONを扱う標準ライブラリや外部ライブラリが提供されています。

Java

  • org.jsonGson(Google提供)Jackson などのライブラリを使用して、JSONの読み書きが可能です。

Python

  • 組み込みの json モジュールを使用して、次のように読み書きができます。
import json

# JSON文字列をPythonの辞書に変換
data = json.loads('{"name": "Alice", "age": 30}')

# Pythonの辞書をJSON文字列に変換
json_str = json.dumps(data)

まとめ

  • JSONは、軽量・可読性・多言語対応という特徴を備えたデータ交換フォーマットです。
  • Web APIや設定ファイル、アプリ間通信など、さまざまなシーンで活用されています。
  • 基本構文を理解することで、他システムとのスムーズな連携や開発効率の向上が期待できます。