JavaScript/JSON
JSON(ジェイソン、JavaScript Object Notation)とは、JavaScriptのオブジェクトの文法をもとにした軽量データ記述言語およびデータシリアライゼーションフォーマットです。
文法[編集]
JSONのフォーマットはJavaScriptのオブジェクトとほとんど同じですが、文字列は必ず ''
ではなく ""
で囲みます。
{
"key": "value"
}
JSONにコメントはありません。
JSON[編集]
JavaScriptのJSONオブジェクトはJavaScriptのオブジェクトをJSON文字列に変換したり、JSON文字列をJavaScriptのオブジェクトに変換したりすることができます。
var json = JSON.stringify( { 'key': 'value' } );
alert(json); // {"key": "value"}
var object = JSON.parse(json);
メソッド[編集]
JSONP[編集]
JSONP(ジェイソンピー、JSON with Padding)とは、動的にscript
要素を生成してJSONが埋め込まれた外部スクリプトを読み込むテクニックを指します。
function jsonp(json) {
alert( json.key );
}
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://www.example.com/api?callback=jsonp';
document.body.appendChild(script);
ここでhttp://www.example.com/apiが次のような返答を返すことを想定します。
jsonp({"key":"value"});
するとあらかじめ定義しておいたjsonp
関数が呼び出されるので、"value"
と表示されます。このようなテクニックを用いて外部のウェブサーバとJSON形式のデータをやり取りすることができます。