JSONとはJavaScript Object Notationの略で、
テキストの形式の一種で、構造化されたデータを表現するのが得意。
どんなものか
JSONはこのような形式で表現されるデータである。
JSONのデータが書かれたファイルの拡張子は「.json
」となる。
{
"id": 1,
"name": "山田"
"age": 20,
"skill": [
"JavaScript",
"Python",
"PHP"
]
}
ユーザーIDが1
の、山田
さんに関する情報を表現したものだ。
特徴
JSONは以下のような特徴を持っている。
- 「
キー: 値
」の形式で表現される - 覚える記号は
{}
,[]
だけ - データを構造化して表現するのに優れている
- JavaScriptで扱いやすいデータ形式(=Webで扱いやすい)
「キー:値」の形式で表現される
名前が「山田」である場合、以下のように表現する。
{
"name": "山田"
}
覚える記号は{}, []だけ
基本的にこの記号だけ覚えておけば大体理解できる。
{}
:オブジェクトを表す[]
:リストを表す
以下の人物をオブジェクトで表現してみる。
- 名前:山田
- 年齢:20歳
- スキル:JavaScript, Python, PHP
{
"name": "山田",
"age": 20,
"skill": ["JavaScript", "Python", "PHP"]
}
データを構造化して表現するのに優れている
JSONはデータの親子関係、並列関係を最小限の努力で
適切に表現することができる。
例えば、都道府県の親子関係を表現する場合
以下のようなJSONで表現することができる。
{
"日本": {
"東京都": [
"千代田区",
"渋谷区",
"新宿区"
],
"大阪府": [
"大阪市",
"堺市"
]
}
}
「日本」の子要素として「東京都」「大阪府」が存在し、
その子要素に、それぞれの市町村区が並列関係(リスト)で表現されている。
key-valueやカンマで区切ることを間違えなければ、
どんなにネストが深くても表現することができる。
JavaScriptで扱いやすい
{}
, []
などの表記ルールはJavaScriptのルールと全く一緒である。
そのため、JSONで送信されたデータは
マッピング、変換処理などを行う必要なく、JavaScriptでスムーズに扱うことができる。
JSONが理解できていればJavaScriptを理解しやすく、
また、JavaScriptが理解できていればJSONも理解しやすい。
どんなところで使われているのか
JSONが一番よく利用されている場面は、
Webサービスにおけるデータ通信である。
APIからデータを受信したり、APIにデータを送信したりするときには
ほとんどの場合JSON形式でデータのやりとりが発生する。
(xml形式の場合もある)
フロントエンド(JavaScript)がAPIからデータを受信する時、
そのデータがJSON形式であればそのまま利用でき、非常に相性が良いためだ。
まとめ
- key-value形式で表されるデータ形式とその拡張子
- 主にWeb系のデータ通信でよく使われる
- JavaScriptと相性が良い