minimize

事業拡大のため、新しい仲間を募集しています。
→詳しくはこちら

JSON とは、軽量のデータ記述言語です。
言語といっても、その記法は極めて(驚く位に)シンプルです。
http://www.json.org/json-ja.html

なぜJSONなのか

JSON の一番の特徴は、そのシンプルな Syntax です。
サポートしている機能は、たった二つしかありません。
「連想配列(Map)」と「リスト(Array)」、これだけです。
しかし、多くの場面において、これで充分なのです。

XML との違い

かなり昔からつい最近まで、データ記法言語の主流と言えば XML でした。
しかし、なぜ今 JSON なのでしょう。

スピード

XML と JSON の解析では、驚くほど処理能力に差があります。
XML の解析速度は非常に低速で、これは大量のデータを処理するときに
ネックとなってきます。
同じデータを解析するのに JSON の方が数倍、時には数十倍も高速なのです。

データ量

JSON はシンプルな構文でノイズがほとんどありません。
よって、データ量はとても小さくなります。

一方 XML はマークアップ言語なので、ノイズが多くなります。
タグは必ず同名のタグで閉じなければなりませんし、記号を書くときには
CDATA 記法を使わなければなりません。

特に携帯端末のようなパケット送信速度が速くない環境においては
データ量を小さくすることは至上命題なのです。
また、一度に数百ものリクエストを処理するようなWebアプリサーバ等にしても
同じことが言えるでしょう。
時代は今、超巨大なデータ群から一瞬にして目的のデータを提供することが要求されています。

汎用性

JSON のパーサは誰でも簡単に完全なものを書くことが出来ます。
XML は高機能過ぎて、パーサの実装によって機能に差があることがほとんどでした。
例えば「このXMLはこのパーサなら解析できるけど、こっちのパーサでは解析できない」
というようなことは、しょっちゅうでした。
これによって、XML はもはや汎用的な言語ではなくなってしまったのです。

JSON が使われるシーン

元々 JSON は JavaScript Object Notation の略でもあり、JavaScript用の言語として生まれました。
JSON の文字列は、そのまま JavaScript のコードとして埋め込むことができます。

しかし最近はそれだけでなく、多くのインターフェイスで採用されています。
RESTful なWebサービス(Twitter API や bit.ly API など)ではもはや主流は JSON となっています。
XML を使った SOAP は、今後徐々に減っていくでしょう。
時代は複雑さよりも、シンプルさを求めています。

ほとんどの主要言語で、JSON のパーサが提供されています。
Webサイトの情報によれば2009年現在、40を超える言語で JSON が使えるとのことです。