JSON(JavaScript Object Notation)は、軽量なデータ交換フォーマットです。人間が読み書きしやすく、マシンが解析して生成するのにも適しています。JSONはJavaScriptのオブジェクトの構文に基づいているため、JavaScriptを使用するWebブラウザやサーバーサイドのプログラム(例えばNode.js)との相性が非常に良いですが、多くの言語でJSONを扱うライブラリが存在するため、プログラミング言語を問わず広く使用されています。
JSONの主な特徴は以下の通りです:
テキストベース
JSONはプレーンテキストを使用し、データオブジェクトを人間にも読みやすいテキストで表現します。
言語独立性
JSONフォーマットは多くのプログラミング言語によって解析および生成が可能で、そのため広くデータ交換フォーマットとして使われています。
キー/値ペア
JSONはキー(名前)と値のペアの集まりで構成されます。キーは常に文字列で、値は文字列、数値、配列、真偽値、null、または別のオブジェクト(入れ子になったオブジェクト)を取ることができます。
配列とオブジェクト
JSONはデータ構造として配列とオブジェクトをサポートしており、複雑なデータ構造も表現できます。
軽量
JSONはXMLに比べて構文が簡潔であり、データ量が少なくなるため、ネットワークを介した通信での使用に適しています。
JSONデータの例は以下のようになります:
{
"name": "John Doe",
"age": 30,
"isEmployed": true,
"address": {
"street": "123 Main St",
"city": "Anytown"
},
"phoneNumbers": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
この例では、JSONオブジェクトが文字列、数値、真偽値、別のオブジェクト、およびオブジェクトの配列を含んでいることがわかります。
JSONは、RESTful APIなどのWebサービスの主要なデータ交換フォーマットとして広く採用されており、Web開発では現在最も一般的に使用されているデータフォーマットの一つです。