| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
データ交換フォーマットの一つ。
JavaScript(ECMAScript)でのオブジェクトの表記法を、そのまま用いたデータフォーマット。
MIMEタイプ名はapplication/jsonが使われている。
JavaScriptのオブジェクト表記法を元に、2001(平成13)年頃にDouglas Crockfordが「発見」し、JSONと命名した。なおDouglas Crockfordによると、JSONは以前から存在しており、自分は発見をしただけだと主張している。
JavaScriptで使いやすかったことから広く普及し、やがてJavaScriptだけでなくPython、PHP、Java、C++などWebアプリケーションを作成するためのフロントエンドやバックエンドで使われる様々なプログラミング言語で対応されるようになった。
データ交換フォーマットとしては、かつてはXMLを普及させようという動きもあった。
古くはHTMLもXMLで書くXHTMLが作られたほどXMLは一時覇権を取るデータ交換フォーマットではあったが、しかしXMLは記述も解析も困難だった。手書きはともかく機械処理しにくいフォーマットは使いにくい。
対してJSONは、軽量で、JavaScriptによる記述や解析が容易であったため一気に普及、XMLよりも普及した。そこで2006(平成18)年7月にRFC 4627
としてInformational(情報提供)扱いで公開された。また、元となったJavaScriptはECMA InternationalでECMAScriptとして標準化されていたが、さらにJSONもECMA-404として標準化され、XMLを置き換えてデータ交換フォーマットとして一般化することになった。
ごく簡単には、次のような書式となる(項目が二つある場合)。
{
"name1" : "value1",
"name2" : "value2"
}
情報量が少ない場合は改行せずに1行でまとめることも可能。この他に、[ ] を使って構造化することもできる。
実際には、複数あるデータが配列の形で渡される使用例が多い。
{"product":[
{"code":100,
"name":"しょうゆラーメン",
"price":300},
{"code":200,
"name":"塩ラーメン",
"price":310},
{"code":300,
"name":"味噌ラーメン",
"price":320}
]
}
取得されたデータをeval()で評価し、各プロパティを参照することになる。
配列として定義されているため、変数dataに読み込んだとして、最初の商品(しょうゆラーメン)にアクセスするためには、次のようにする。
data.product[0].code
上記の例なら、同様に塩ラーメンなら[1]、味噌ラーメンなら[2]を参照することになる。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます