JSONとは何か?

JSONとは何か?

データをやり取りするデータフォーマット

JSONとは汎用的なデータ形式です。サーバーと通信に使用したり、外部ファイルとしてデータを保存したりするために使います。

この他にも、アプリケーション間でデータの送受信をするためにも利用します。

近年ではWordPressがRest APIをサポートし、JSONでのデータ送受信をサポートしましたので、WEB APPだけでなく、記事配信などでも利用されることが多くなっています。

各種プログラム言語で利用される

JSONはフロントエンドの言語(JavaScript)だけでなく、バックエンドの言語(PHP・Javaなど)でも利用できます。

JSONのデータフォーマットの一例

JSONデータはキーと値を組み合わせて定義します。下記のサンプルコードをご覧ください。

JavaScript
{
"country": "japan",
"age": 20,
"name": "sample user"
}

データ構造を確認しましょう。上記のコードはある個人の年齢と出身国をまとめたシンプルなJSONデータです。

上記のコードではcountryがキーに、japanが値になります。基本的な記述ルールは下記の通りです。

  • キーは文字列のみ
  • キーは必ずダブルクオーテーションで囲む(シングルクオートはエラーになります。)
  • 値は数値、文字列、真偽値、配列、オブジェクト型が利用可能
  • コメントは書けません

上記の例では1個人のデータをまとめていました。

複数人のデータを配列とオブジェクトを使うと、構造化された情報を定義できます。

次の例は、「直近のユーザーデータ」という名称のデータに対して5人分のユーザーデータを格納したJSONデータになります。

JavaScript
{
  "name": "直近のユーザーデータ",
  "users": [
    {
      "country": "japan",
      "age": 20,
      "name": "sample user"
    },
    {
      "country": "australia",
      "age": 21,
      "name": "sample user2"
    },
    {
      "country": "japan",
      "age": 22,
      "name": "sample user3"
    },
    {
      "country": "china",
      "age": 30,
      "name": "sample user4"
    },
    {
      "country": "korea",
      "age": 50,
      "name": "sample user5"
    }
  ]
}

JSONはオブジェクトの中にオブジェクトを含むことができるため、深い階層のデータも簡単に定義できます。

先ほどお伝えした記述ルールに加え、下記のルールも認識しておくと良いでしょう。

エラーになる書き方

JSONはJavaScriptと親和性が高いため、ほとんどJavaScriptと同じ書き方ができると思いがちですが、下記の違いがあります。

  • JavaScript: オブジェクトと配列は要素の最後のカンマは「許容」されている
  • JSON: オブジェクトと配列は要素の最後のカンマは「エラー」となる

JSON(NG)

JavaScript
{
  "users" : ["sample user","sample user2","sample user3","sample user4",]
}

JSON(OK)

JavaScript
{
  "users" : ["sample user","sample user2","sample user3","sample user4"]
}

末尾に「,」があるか無いかで結果が変わります。ほとんどの言語では末尾の「,」は省略可能ですので、この機会に常に末尾の「,」は書かないことを意識することでこのエラーは回避可能でしょう。

インストラクター