Ajaxの真価はWebサービス連携にありWeb 2.0で変わるWebプログラミングの常識(1/4 ページ)

落ち着きつつあるAjaxを取り込んだWebアプリケーション開発への取り組み。後発でもアイデアはまだまだ出尽くしていない。基本を復習して新たなサービスへとつなげてみよう。

» 2006年08月23日 08時00分 公開
[大澤文孝,ITmedia]

 Ajaxというと、XMLでデータを送受信するというイメージがある。

 しかし、実際にはXMLである必要性はない。むしろXML形式ではないほうが、送受信データパースの手間が必要ないというケースが多いのだ。

 一方で、XMLでデータをやり取りできる利点を生かせば、当然ながらWebサービスとの効果的な連携も現実的なものになってくる。今回は、Ajaxアプリケーションにおいてよく用いられる「JSON」と呼ばれるデータ形式について解説しよう。

 このオンライン・ムックPlus「Web 2.0で変わるWebプログラミングの常識」では、これまでにAjaxの概要(第1回)から発展系としてどのような取り組みあるのか(第2回)について解説した。このオンライン・ムックPlusを読むことで、Web2.0と称する新たなWebテクノロジーの象徴の一つといえるAjaxについて、深く知り、自らでWeb2.0対応とうたうことが可能なWebアプリケーションを作り上げることができるだろう。

 第2回目までは、Ajaxで加算/減算を行う簡単なサンプルを紹介している。このサンプルを実際に動かしてみると、XMLデータの生成やパースの複雑さが分かるはずだ。

 簡単なデータ構造ならまだしも、配列や構造体をやり取りするとなれば、サーバ側でのXMLデータの生成はもちろん、クライアント側のXMLパース処理も複雑になる。その結果、パフォーマンスが劣化してしまうのだ。

JavaScriptのオブジェクト書式でやりとりするJSON

 Ajaxでデータの送受信に用いるXMLHttpRequestオブジェクトでは、responseTextプロパティを用いることでテキスト形式のデータが扱える。

 つまり、XML形式にこだわる必要はないことを意味する。

 例えば、カンマ「,」区切りテキストでデータをやり取りすることも可能だ。しかしカンマ区切りテキストにしたところで、パースが必要であるという点に変わりないのも事実だろう。

 そこで、よりクライアント側の負担を軽減するデータ交換形式として幅広く用いられているのが「JSON(JavaScript Object Notation)」である。

 JSONでは、JavaScriptにおけるオブジェクト表現と同じ書式のテキストを用いてデータを表現する。その仕様は、このサイト上で示されている。

 JSON形式のデータとしては、例えば、次のような形式が挙げられる。


{"add":400,"diff":200}

 このデータ文字列は、JavaScriptのeval関数を使っており、次のように前後に「(」と「)」を付けると、そのままパースできるのだ。


var result = eval('(' + '{"add":400,"diff":200}' + ')');

 上記の例では、resultという名前のオブジェクトとして構成され、次のようにして参照することができる。


result['add'];  // この値は400
result['diff'];  // この値は200

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ