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と相性が良い