JSONとは
以前にも増してJavaScript界隈で聞くことが多くなったデータの表現形式に「JSON」というものがあります。正式には「JavaScript Object Notation」といいます。名前に含まれている通り、JavaScriptのために作られた表記法です。
XML同様、テキストファイルとして作ることもでき、人間が読み書きしやすいようなデータ形式となっています。また、階層を追って目的のデータを探しに行くXMLより、JavaScriptからのデータアクセスがしやすい構造になっているため、データの解析がXMLよりも速いというメリットがあります。
AjaxとJSON
Ajaxも、現在は利用が当たり前のようになってきているJavaScriptを利用した技術です。「Asynchronous JavaScript + XML」の略称で、JavaScriptからWebサーバーにリクエストを送り、サーバーからXML形式で取得したデータをもとにして、JavaScriptで動的にブラウザのコンテンツを書きかえる技術です。「非同期通信」という仕組みを使っています。このとき取得するデータを、XMLではなくJSONデータにすることも増えています。
JSONの基本書式
1 2 3 4 5 |
{ 名前1: 値1, 名前2: 値2, 名前3: 値3 } |
このように、1つ1つのデータを管理する項目名(名前)と、具体的なデータ(値)のセットをカンマで区切ってリストアップしていくような構造になっています。
名前と値の1セットを、JSONではまとめて「メンバー」と呼びます。
JSON 表記例1
1 2 3 4 5 6 7 |
{ "id": 1001, "name": "さいとう", "tel": "070-0000-0000", "option": true, "address": null } |
配列や連想配列、マップに似た構造となっていますね。この例では、5つのメンバーを含んでいることになります。
JSONの型
JSONは、XMLと違い「型」というものが値に対して存在します。「型」というのはデータのタイプ(種類)のことです。
- ● string型(文字列)
- “KEN” や “プログラム” など、文字をダブルクオートで囲んだもの。プログラムではよく「文字列」と言います。
- ● number型(数値)
- 100や3.14など、ダブルクオートなどで囲まず、数値をそのまま書いたもの。
- ● boolean(真偽値)
- true、falseの2つ。if文やwhile文では、条件の判定結果として使われますが、JSONでは「はい/いいえ」「ON/OFF」的な要素として使われることが多いです。
- ● null(ヌル値)
- 空文字や、0とは違う「値が何もない」という状態を表すもの。
- ● array(配列値)
- 複数の値を[ ]でまとめて管理する形式。
例)
12[1, "新宿本校", "代々木区"][2, "池袋校", "豊島区"]
JSON 表記例2
1 2 3 4 5 |
{ ["id": 1001, "name": "さいとう", "tel": "070-0000-0000"], ["id": 1002, "name": "すぎやま", "tel": "080-0000-0000"], ["id": 1003, "name": "よねやま", "tel": "090-0000-0000"] } |
このような構造にすることで、簡易的なデータベースのように扱うこともできます。
イメージ
id | name | tel |
1001 | さいとう | 070-0000-0000 |
1002 | すぎやま | 080-0000-0000 |
1003 | よねやま | 090-0000-0000 |
JavaScript以外でもJSONをデータの形式として利用することは増えていますので、是非学習してみてください。