JSON基礎
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.json、Gson(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や設定ファイル、アプリ間通信など、さまざまなシーンで活用されています。
- 基本構文を理解することで、他システムとのスムーズな連携や開発効率の向上が期待できます。