我目前正在eclipse中使用GWT 2.0在java中编写Web应用程序。 我想知道是否有办法在GWT应用程序的客户端代码中使用Gson library。
如果有办法 - 请告诉我如何...
谢谢!
答案 0 :(得分:25)
Gson使用GWT不支持的Java功能,例如反射。因此,不可能在GWT客户端代码中使用Gson。
答案 1 :(得分:15)
不完全是你写的,但我想你的意思是如何在GWT代码中序列化/反序列化JSON?
在GWT 2.1.1中,您可以使用GWT AutoBean framework
在文章的底部看到它有这个神奇的代码......
String serializeToJson(Person person)
{
// Retrieve the AutoBean controller
AutoBean<Person> bean = AutoBeanUtils.getAutoBean(person);
return AutoBeanCodex.encode(bean).getPayload();
}
Person deserializeFromJson(String json)
{
AutoBean<Person> bean = AutoBeanCodex.decode(myFactory, Person.class, json);
return bean.as();
}
serializeToJson()对我来说很好,即使是继承Person的实例但我没有尝试deserializeFromJson ......
答案 2 :(得分:3)
(如果您愿意,可随意增强我的帖子)
目前(2015-02-07)虽然我非常喜欢Gson并希望只有一个共享代码解决方案,但是不可能: - /,但是还有一些其他库可用(我只知道AutoBeans和Gson我自己并快速浏览了Piriti):
(有些支持XML或JSON(de)序列化)或仅支持其中一种
(*)
比较
答案 3 :(得分:2)
在我们的GWT项目中,我们使用 piriti : http://code.google.com/p/piriti/
像魅力一样: - )
答案 4 :(得分:2)
我已经编写了一个允许将GWT与Gson一起使用的库,您可以下载here并享受它。