在服务器和客户端上使用共享的JSON类

时间:2015-02-20 13:37:27

标签: java javascript html json gwt

我想在GWT客户端和服务器上创建一个共享类,它在服务器端使用org.json.*,在客户端使用com.google.gwt.json.client.*

我的共享课程是这样的:

import org.json.JSONObject;

class SomeDto {

   public fromJSON (JSONObject x) } 
   }
}

这在服务器端正常工作,但客户端JSONObject应替换为com.google.gwt.json.client.JSONObject

如何在Server和Client上使用共享JSON类,它在客户端和服务器上使用不同的JSON实现?

1 个答案:

答案 0 :(得分:0)

您有一些在客户端和服务器端工作的实现:

  • 元素Json是java中的一个完整实现,它在服务器端和客户端工作,看看它的test cases来弄清楚它是如何工作的。它的重量非常轻,并且在客户端使用浏览器本机优化。

  • GwtQuery有一个json对象的数据绑定实现。它在两侧都有效,表现非常好。只需定义一个扩展JsonBuilder的接口,您就可以在服务器和客户端共享它。请查看此test课程以查看其用法或​​documentation。 BTW gquery使用元素json,以便不依赖于有争议的json.org库。

  • 最后,GWT中的经典AutoBeans是一个处理JSON并将其绑定到POJO的选项。 IMO它需要如此多的锅炉代码。