1

私はこの種のことについてあまり経験がないので、キーと値のペアをpostパラメーターとして送信すると、サーブレットコンテナーがこれらのペアを解析してパラメーターマップに配置するのが最も簡単な方法だと思います。

しかし、私は、いくつかの準備ができたソリューション(libs)を使用することに基づいて、より便利な方法が存在する可能性があると思います。それが、私が求めている理由(および何)です。決定に何らかの役割を果たすことができるもう1つのことは、かなり複雑なものを転送する必要があることです(つまり、ある種のプロトコルを実装したい)。

4

2 に答える 2

2

データ交換の2つの実際の選択肢は、XMLとJSONです。私は両方を幅広く扱ってきましたが、最近ではJSONが私の最初の選択肢です。

2つのうち、JSONは1つを除くすべての考慮事項でXMLよりも優れていると思います。JSONはよりスリムで読みやすくなっています。目立たないデータ単位にラベルを適用することを目的としているため、データ形式の表現に適しています。JSONパーサーは、作成がはるかに簡単で、必要なコードもはるかに少なくなります。JSONがサポートする限られたタイプのセットは、データ交換に最適であることがわかりました。JSONは、ドキュメントのマークアップを許可するためのレガシーセマンティクスに悩まされることはありません。

さらに、クライアントがJavaScriptを使用している場合、JSONのサポートは本質的です。

XMLの唯一の利点は、この形式のデータを操作するためのより多くのより優れたツールが存在する可能性があることです。ただし、JSONは、ツール自体を必要としないほど単純であると言わなければなりません。

3番目の選択肢は、URLエンコードされたキーワードと値のペアですが、これは制限が多すぎることにすぐに気付くと思います。

ちょうど私の200セント。

参照:http ://www.json.org/

また、私の軽量のオープンソースの障害のないJSONパーサーにも興味があるかもしれません。


編集:2010-08-10 00:43

JS evalを使用することのセキュリティに関するコメントに応えて、JSONWebサイトからの次の抜粋が興味深いかもしれません。

JSONテキストをオブジェクトに変換するには、eval()関数を使用できます。eval()はJavaScriptコンパイラを呼び出します。JSONはJavaScriptの適切なサブセットであるため、コンパイラーはテキストを正しく解析し、オブジェクト構造を生成します。JavaScriptの構文のあいまいさにつまずかないように、テキストは括弧で囲む必要があります。

var myObject = eval('(' + myJSONtext +')');

eval関数は非常に高速です。ただし、JavaScriptプログラムをコンパイルして実行できるため、セキュリティ上の問題が発生する可能性があります。evalの使用は、ソースが信頼され、有能である場合に示されます。JSONパーサーを使用する方がはるかに安全です。XMLHttpRequestを介したWebアプリケーションでは、通信はそのページを提供する同じオリジンにのみ許可されるため、信頼されます。しかし、それは有能ではないかもしれません。サーバーのJSONエンコーディングが厳密でない場合、またはサーバーがすべての入力を綿密に検証しない場合、危険なスクリプトを運ぶ可能性のある無効なJSONテキストを配信する可能性があります。eval関数はスクリプトを実行し、その悪意を解き放ちます。

これを防ぐには、JSONパーサーを使用する必要があります。JSONパーサーはJSONテキストのみを認識し、すべてのスクリプトを拒否します。ネイティブJSONサポートを提供するブラウザーでは、JSONパーサーもevalよりもはるかに高速です。ネイティブJSONサポートは次のECMAScript標準に含まれる予定です。

于 2010-10-09T19:30:30.807 に答える
0

http://www.json.org/

于 2010-10-09T18:18:19.013 に答える