メインメニューを開く

差分

JSON

2,717 バイト追加, 2020年2月12日 (水) 01:56
'''JSON'''(じぇいそん、'''J'''ava'''S'''cript '''O'''bject '''N'''otation)とは、[[JavaScript]]における[[オブジェクト]]の表記法をベースとした全てテキストで書く軽量なデータ交換フォーマットのことである。 ==概要==ジェイソンといっても13日の金曜日シリーズのジェイソン・ボーヒーズとは一切関係ない。なおジェイソン・ボーヒーズはチェーンソーを一度も使ったことが無いらしい。 テキストベースのデータ交換フォーマットと言えば[[XML]]が有名だが、JSONは大雑把な[[データ型]]をあらかじめ定義することで、XML並みの汎用性はないが、簡潔明瞭(データサイズが小さい=通信量を減らせる)に書けるようになっている。 また、[[JavaScript]]であれば標準で用意されているeval関数一発で[[オブジェクト]]に変換できて手軽だね、ということで[[Ajax]]でのデータ交換フォーマットとして広く利用されるようになった。 なお、JSONは名称に[[JavaScript]]とあるが、ただの[[テキスト]]なので[[JavaScript]]以外の[[プログラミング言語]]でも比較的簡単に扱える。現状の多くのシステムでは[[サーバーサイド]]に[[PHP]]や[[ASP.NET MVC]]などを利用して実装されることが多いが、すでに主要な[[プログラミング言語]]にはJSONの生成と読み込みを行う[[ライブラリ]]が多数存在する。とくに[[動的言語]]では、[[PHP]]のJSON関数群や、[[C Sharp|C#転送 ]]の[[DynamicJSON]]などを使うことにより、事前に[[マッピングクラス]]を用意するなどの煩雑な準備も必要なく、JavaScriptと同様の手軽さで扱える。[[Node.js]]や[[IronJS]]などのサーバーサイドJavaScriptも流行りつつあるので、そちらを使うのも手ではある。 ==主なJSON関連ライブラリ=====.NET Framework===*[[Json.NET]]*:[[.NET Framework]]の標準。*[[DynamicJSON]]*:[[動的型付け]]で[[JavaScript]]本来のJSON風に手軽に扱える。*[[ServiceStack.Text]]*:JSONだけでなく[[JSV]]や[[CSV]]も同じ操作感で扱える。 ===PHP===[[PHP]] コアに含まれるため追加の[[インストール]]無しで使用できる。なお、2008年8月15日でサポートが終わった古いPHP4系には存在しない[[API]]であり、そのような環境では[[PEAR]]のJSON.phpが使われていた。歴史的事象として記載しておく。 ==関連項目==* [[AJAX]]* [[JSONファイル]] == 外部リンク ==* http://www.json.org/json-ja.html == 参考文献 =={{reflist}} {{stub}}