1

GWTP クライアントで GWT プラットフォームを使用し、GUICE コンテナー内の残りの Web サービスを使用しています。GWT クライアントからの REST サービスの呼び出しは、JSONPRequestbuilder を使用して行われます。

GWT に最適な JSON 応答文字列解析手法はどれですか? - JSON から Java へのシリアライゼーション/デシリアライゼーション

グーグルでたくさん検索した後、これらの多くのオプションがあることがわかりました。

  1. JSONParser parseStrict メソッドに組み込まれた GWT は、安全で最善の方法と呼ばれます。ただし、これは複雑な JSON 応答文字列には適していない場合があります。JSON 応答の各項目を解析して Java オブジェクトに変換するには、多くのコードを記述する必要があるためです。
  2. GWT AutobeanFactory アプローチ - これを使用する最善の方法がわかりませんか? GWT 2.4 を使用していますが、このアプローチを使用した完全な例はまったくありません。どこでも、人々はそれがアプローチだと言っていますが、これについて詳細に説明している場所はありません。Google のサンプルは、GWT 2.4 で大幅に変更された gwt の古いバージョンのものでした。誰かがGWT 2.4とJSON ser / deserのAutobeanファクトリーアプローチの良い例を共有してください...
  3. JavaScript オーバーレイ タイプ: 安全な方法ではないと人々は言います。だから、これを使うべきかどうか少し迷っています。

さらに、まもなく GWT から SmartGWT に移行します。これらの残りの呼び出しサービスは、SmartGWT でも変更なしで引き続き機能することを願っています。(SmartGWT には事前定義された形式の JSON rest サポートも付属しているため、一般的にこれらのサービスを既に構築しているため、使用しない場合があります)。

4

1 に答える 1

3

イントロスペクションが必要な場合 (JSNO オブジェクトの厳密なスキーマがない場合) JSONParser、.
少し使いやすい API を使用することもできますが、まったく文書化されていませんcom.google.web.bindery.autobean.shared.Splittable(より具体的にはJsonSplittable、DevMode およびJsoSplittablein prod モード)。

厳密なスキーマがある場合は、JSO オーバーレイ タイプまたは AutoBean を使用します。AutoBean は JSO に比べてわずかにオーバーヘッドがありますがList、カスタム JSO と の代わりに とSetMap使用できます。AutoBean は、JsArrayサーバー側または非 GWT Java クライアントからAutoBeanFactorySource. GWTTestCaseこれは、JSO とは対照的に、 sluggish を必要としない単体テストにも役立ちます。

AutoBean の例は、公式ドキュメントhttp://code.google.com/p/google-web-toolkit/wiki/AutoBeanにあります。

securityについては、 parseStrict(AutoBean が内部で使用しているので、心配する必要はありません) を使用している限り、安全です。JSO は、AutoBean またはJSONParser(またはSplittable) よりも安全性が劣ることはありません。

于 2012-05-21T12:43:09.863 に答える