JSONとは

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と相性が良い
タイトルとURLをコピーしました