Edited at

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
}
}