2011-10-19 6 views
4

ページからAJAXを介して返されるデータがかなり大きくなっています。これは一度に0〜20kレコードまでのもので、それぞれに約10ピースのデータがあります。さて、現時点では、データは構造化されたXMLで返され、javascriptはそれを処理します(レコードについては、現時点でjQueryを使用しています)。データ効率 - JSONまたはXMLで返されますか?

XMLが戻ると、address.find()関数を使用)と呼ばれるすべてのノードをjQueryがループします。その後、それぞれデータをソートし、任意の時間がかかります。しかし、コードは効率的ではないと思われますが、大規模なデータを処理する経験はありません。 XMLというデータの利点は、Webサービスなどの他のものに簡単に統合できることだと思いますが、効率を上げるにはユーザーが「ぶら下がっている」ままにしておきたいと思います。だから私は他の人がこれまでに尋ねてきたかもしれないと確信していますが、XMLやJSONの方が効率的です。

さらに、どちらがより有用か、どちらが同じですか?

申し訳ありませんが、これは不安な質問ですが、これは私がJSONを使用した最初の1つです!

答えて

7

JSONはオブジェクトをシリアル化するための表記法です。それがその焦点と目的です。 XMLはマークアップ言語を定義するためのものですが、データとして使用できないかのように人々がその事実を家にぶつけてしまうのは嫌です。 XMLは、多数のデータ構造を表現するのに非常に適しています。しかし、XMLはむしろ汎用性が高く、仕様、表記法、およびツールサイズの点でオーバーヘッドがあります。

まず、必要なものを正確に見つけてください。より一般的な意味でデータを転送する必要がありますか、十分なオブジェクトを渡していますか?あなたは名前空間のようなものを必要としますか?あなたが必要とするものを行うテクノロジーを選んでください。しかし、今後の展開を念頭に置いてください。

第2に、ツールを検討してください。 XMLはほとんどすべての言語で優れたサポートを提供します。メモリ内表現(DOM)、オブジェクトバインディング(JavaのJAXB)、解析(SAX)のためのメソッドがあります... JSONはあなたのターゲット環境で多くのサポートを持っていますか?一方、JSONは、JavaScriptとの組み合わせでクライアント側で非常に便利です。

私は、テクノロジーの選択に関係なく、必要なものを実行でき、それぞれの選択肢に最適化の余地があると信じています。しかし、最後に考慮すべき点が1つあります。選択する必要はないかもしれません。データをJSONまたはXMLとしてシリアル化できるようにするのは本当に簡単なことがあります。 Javaプログラマだからこそ唯一の例ですが、JAX-WSにはWebサービスからXML、JSON、あるいは他のフォーマットのデータを最小限のコード適合で取得するためのメソッドがあります。

2

私の個人的意見:

私はXMLがあまり好きではありません。しかし、転送されるオブジェクトの深さによって異なります。あなたのデータを表現するためにたくさんの属性とタグが必要ない場合は、xmlが最も良い選択ではありません。 (Examples and much more reasoning)。自分自身のDatastructureと階層を自由に定義することができれば、JSONははるかに速い方法です。また構文はXMLほど重くないので、送信ごとにビット数やバイト数を節約できます。

現代のアプリケーションでXMLを使用する理由は1つだけです:利便性!スタンドアーツを開くときに申請しているとき(例:ATOM FrontendのRESTを使用)他の開発者と協力して利益をすばやく得ることができます。

最終的には、自分のデータがどのように見えるかを決めてから、最良の表現を選ぶことができます。