繁体   English   中英

GWT:使用相同的api在客户端和服务器端进行JSON解析

[英]GWT : JSON Parsing in client side and server side with same api

我们使用org.json api在服务器端解析json,并使用GWT JsonParser在客户端解析JSON。 有没有可以在客户端和服务器端都可以使用的api?

您正在寻找GWT AutoBean: http : //code.google.com/p/google-web-toolkit/wiki/AutoBean

使用AutoBeans,您可以通过juset定义JSON的结构,然后由GWT编译器处理其余部分。

与使用autobeans或GWT-RCP相比,我正在编写此代码-如果您在服务器上使用Java。 特别是,如果不是这样的话。

最干净的方法是REST-RPC / JPA,您可以在其中在客户端,服务器和持久性数据库之间共享一组POJOS。 让我代表这种技术组合来吹嘘-一组单独的POJO,而不是三个,在三个方面之间没有任何(或最少的)转换。

您不必编写任何数据转换例程。 或至少由于序列化约束或由于您试图将GWT和REST与呈现高度不可序列化性的现有架构进行接口而导致的数据转换数量最少。

同样,类似于GWT-RPC,在客户端和服务器端共享一组Java RPC方法。 好吧,几乎相同的方法集。 除了服务器端的返回类型成为客户端上的回调通用参数。

技术组合为:

  • JAX-RS(服务器端的Resteasy或Jersey)
  • 客户端上的JAX-RS + GWT = RestyGWT
  • 服务器端的JPA
  • GWT客户端和服务器端都通过JAX-RS进行JAXB。
  • 服务器端的Jackson JSON处理器。

REST-RPC令人信服的原因是

  • 您可以假装将客户端与服务器之间的对话编写为GWT-RPC。 服务接口和回调态度是相同的。
  • 客户端和服务器之间的数据交换采用JSON。
  • 这意味着在成功设置应用程序之后,您可以使用浏览器而不是GWT客户端与服务器对话。 或jQuery。 或PHP或Python作为服务器。
  • 无需自己弄乱JSON或XML编码/解码-仅在POJO中处理,而仅在POJO中处理。
  • 您可以使用浏览器来调试独立于GWT客户端的Web服务。

REST的态度是(除了独立于状态的请求外)是称为Web API的概念。 可能像Javadoc这样的API-但用JSON或XML表示。 关于此API的妙处是-您不必生成文档。 像javadoc一样,您可以在服务接口上运行Enunciate。

您可以在以下(三部分)博客文章中关注我的讨论: http : //h2g2java.blessedgeek.com/2012/07/gwt-with-jax-rs-and-jpa-part-3.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM