我想在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实现?
答案 0 :(得分:0)
您有一些在客户端和服务器端工作的实现:
元素Json是java中的一个完整实现,它在服务器端和客户端工作,看看它的test cases来弄清楚它是如何工作的。它的重量非常轻,并且在客户端使用浏览器本机优化。
GwtQuery有一个json对象的数据绑定实现。它在两侧都有效,表现非常好。只需定义一个扩展JsonBuilder的接口,您就可以在服务器和客户端共享它。请查看此test课程以查看其用法或documentation。 BTW gquery使用元素json,以便不依赖于有争议的json.org
库。
最后,GWT中的经典AutoBeans是一个处理JSON并将其绑定到POJO的选项。 IMO它需要如此多的锅炉代码。