JSON
JSON(JavaScript Object Notation)は、軽量で読み書きが容易なデータ交換フォーマットです。主にウェブアプリケーション間でのデータの送受信や、APIからのデータ受信に使用されます。JavaScriptのオブジェクト表記法に基づいているため、JavaScriptとの親和性が高く、他の多くのプログラミング言語でも利用しやすいのが特徴です。
例えば、サーバーとクライアント間でデータをやり取りするときに、JSON形式にして送信すれば、どちらの環境でも簡単にデータの読み取り・編集が可能です。
JSONの構造
JSONは、以下の2つの基本構造を持ちます。
オブジェクト
キーと値のペアを含む構造で、波括弧 { }
で囲まれます。各キーは文字列で囲まれ、キーと値はコロン :
で区切ります。
{
"name": "Taro",
"age": 30,
"city": "Tokyo"
}
配列
複数の値を持つリストで、角括弧 [ ]
で囲まれます。配列には数値、文字列、オブジェクトなど、任意のデータを含めることができます。
[
"Apple",
"Banana",
"Cherry"
]
JSONでは、これらの構造を組み合わせて複雑なデータ構造を表現できます。
JSONのデータ型
JSONは、次のデータ型に対応しています。
- 文字列(String):ダブルクォート
" "
で囲まれます(例:"Tokyo"
)。 - 数値(Number):整数および小数が使えます(例:
42
、3.14
)。 - オブジェクト(Object):波括弧
{ }
で囲まれたキーと値のペア。 - 配列(Array):角括弧
[ ]
で囲まれたリスト。 - ブール値(Boolean):
true
またはfalse
。 - null:値がないことを示します。
JSONの利点
- 軽量で読み書きが簡単
JSONはシンプルで、人間にも機械にも読みやすいフォーマットです。 - 幅広い互換性
JavaScript以外の多くの言語で簡単に扱えるため、サーバーとクライアント間のデータ交換に広く利用されています。 - 構造化データの表現
オブジェクトと配列を使用することで、複雑なデータ構造を表現できます。
JSONの欠点
- データ型の制限
JSONでは、関数や日付、無限大の数値(Infinity)などのJavaScriptのデータ型を直接表現できません。 - サイズが大きくなる可能性
JSONは構文に文字列を使用するため、XMLなどの他のデータ形式と比較すると、冗長な部分もありサイズが大きくなることがあります。 - セキュリティリスク
JSONをパースする際に、信頼できないソースからのデータを取り扱う場合には、脆弱性が発生する可能性があるため注意が必要です。
JSONの活用例
- APIのデータ交換
サーバーとクライアント間でのデータ交換に使用され、RESTful APIでの一般的なフォーマットです。 - 設定ファイル
アプリケーションの設定ファイル(例:config.json
)として、アプリの設定情報を保存する用途に使われます。 - データ保存
一時的なデータの保存やファイルとしてのデータ保存に使用されることがあります。
JSONは、ウェブ開発でデータを構造化して送受信するための標準的なフォーマットであり、特にAPIでのデータ交換には欠かせないツールです。