JavaScript
JSON
More than 3 years have passed since last update.

JSONとは

  • 「Javascript Object Notation」の略で「ジェイソン」という
  • テキストフォーマットの一種で、シンプルかつ軽量
  • null、真偽値、文字列、配列、オブジェクト(連想配列)のデータを文字列で表現できる
  • 配列とオブジェクトはネスト構造で表現することができる
  • XMLと比べて比較的仕様が簡単なため導入が容易

フォーマットについて

  • 空白、タブ、改行などの整形用の文字は自由に挿入できる

文字列の表現

  • 文字列はダブルクォーテーションでくくる(シングルクォーテーションでくくることはできない)

数値の表現

  • 整数、小数、指数を表現できる
  • 16進数や8進数の表記を使用することはできない
  • NaN値やInfinity値は使用できない

null値の表現

  • nullと記述する
  • undefined値は使用できない

配列の表現

  • 配列リテラルをそのまま使用できる
json
// 配列
[true, false, 0, 1, 2, 1.5, "あ", "い"]

//多次元配列
[
  [
    ["A", "B", "C"],
    ["D", "E", "F"]
  ], [
    ["G", "H", "I"],
    ["J", "K", "L"]
  ], [
    ["M"],
    ["N"],
    ["O"]
  ]
]

オブジェクトを表現

  • オブジェクトのキーは文字列の表現と同じ
  • ダブルクォーテーションでくくる(シングルクォーテーションでくくることはできない)
  • クォーテーションを省略することもできない()
json
//オブジェクト
{
  "name": "hogeta",
  "age": "12",
  "address": "shibuya",
  "result": true
}

//配列とオブジェクトの組み合わせ
{
  "a": {
    "name": "a",
    "id": 1,
    "result": false
  },
  "b": {
    "name": "b",
    "id": 2,
    "result": true
  },
  "c": {
    "name": "c",
    "id": 3,
    "result": true
  }
}