JSONとは
JSON (JavaScript Object Notation)は、データ交換フォーマットの一種で、 名前にはJavaScriptと入っていますが、現在ではJavaScriptに限らず、 各種プログラム言語で利用できます。 その特徴としては、テキスト形式で可読性が高いこと、単純で軽量なことなどが挙げられます。 JSONは、同様にテキストベースであるXML (Extensible Markup Language)と比べてもよりシンプルであり、 各種言語との親和性も高く使い勝手も良いことから、 最近はWebアプリケーションなどで利用されています。
JSONのフォーマットでは、四つの基本的な型(文字列、数値、ブール値、null値)と、 二つの構造型(オブジェクト、配列)を表現できます。 当初JSONは、JavaScriptプログラムでのデータ交換を目的として、 JavaScriptの言語仕様であるECMA-262 (The ECMAScript programming Language Standard)第3版のサブセットとして設計されましたが、 JSONのフォーマットそのものは特定の言語に依存しない形式になっています。 それに加えて、前述のように単純なため、JSONはJavaScriptだけではなく、 C、C++、Objective-C、Java、Perl、Ruby、Pythonなど、 現在は多数の言語で利用可能になっています。そのため、これらの言語をまたいで、 あるいはネットワークを通して、データを交換できます。2006年7月には、 JSONの仕様が Informational RFC (RFC4627)として紹介されました。
このRFC4627では、例示として以下のようなJSONオブジェクトが記述されています。
[JSONオブジェクトの例] (RFC 4627より) { "Image": { "Width": 800, "Height": 600, "Title": "View from 15th Floor", "Thumbnail": { "Url": "http://www.example.com/image/481989943", "Height": 125, "Width": "100" }, "IDs": [116, 943, 234, 38793] } }
上記は、Imageという名前で、メンバに幅、高さ、タイトル、Thumbnailオブジェクト、 数値の配列であるIDsを持ったオブジェクトの例です。
また、2013年10月には、ECMAの標準(ECMA-404)として、JSONのデータフォーマットが策定されました。
なお、次世代WHOISのプロトコルを議論・策定しているIETF (Internet Engineering Task Force)のweirdsワーキンググループでは、 レジストリデータのやり取りにJSONを利用することを検討しています。
■参考
Introducing JSON
http://www.json.org/
JSON: The Fat-Free Alternative to XML
http://www.json.org/fatfree.html
Standard ECMA-262
http://www.ecma-international.org/publications/standards/Ecma-262.htm
The application/json Media Type for JavaScript Object Notation (JSON)
http://tools.ietf.org/html/rfc4627
Standard ECMA-404
The JSON Data Interchange Format
http://www.ecma-international.org/publications/standards/Ecma-404.htm
JSON Responses for the Registration Data Access Protocol (RDAP)
http://datatracker.ietf.org/doc/draft-ietf-weirds-json-response/