Ajaxで用いるデータフォーマットの比較 (JSON)
JSON (JavaScript Object Notation)は、Ajaxの普及と共に注目を集めつつあるデータフォーマットである。JSONはJavaScriptの文法を用いて、XMLと同様のデータフォーマットを実現している。JSONの詳細についてはhttp://www.crockford.com/JSON/index.htmlを参照のこと。
JSONの例は次のようなものである。
{"cities": [ {"name": "青ケ島青ケ島村", "initial:" "あ"}, {"name": "足立区", "initial:" "あ"} ] }
JSONについては、XMLとの差分で説明した方が簡単である。JSONのXMLに対する主な差分は2点ある。
- データに型があり、文字列型、数字型、配列型を持てる。
- フォーマットがJavaScriptの文法と一致する。
特に最後の特徴がAjaxにおいて重要である。この特徴により、JSONデータはJavaScriptのevalメソッドで、簡単にJavaScriptのObjectに変換できる。
従って、XMLを解釈する時のように、getElementsByTagNameなどのメソッドを使わず、直接JavaScriptでデータを解釈することが可能となる。また、JavaScriptのObjectは必要最小限の情報しか持たないので、実行速度や、使用メモリの観点からも、JSONはXMLに勝る。
まとめると、多くの場合、XMLよりもJSONの方がAjaxのデータフォーマットとしては適していると考えられる。XMLもXSLTを使えるなどの利点を持っているが、JSONの優位性は揺らがないと思う。Ajaxの最も主要なデータフォーマットになる可能性は高いだろう。