エンジニアを目指す初学者に向けて、わかりやすく解説したブログです。
サイトをリニューアルしました

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