在GWT客户端代码中使用Gson库

时间:2010-02-06 16:15:40

标签: java gwt gson

我目前正在eclipse中使用GWT 2.0在java中编写Web应用程序。 我想知道是否有办法在GWT应用程序的客户端代码中使用Gson library

如果有办法 - 请告诉我如何...

谢谢!

5 个答案:

答案 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)序列化)或仅支持其中一种

来自GWT项目本身的

(*)

比较

答案 3 :(得分:2)

在我们的GWT项目中,我们使用 piriti http://code.google.com/p/piriti/

像魅力一样: - )

答案 4 :(得分:2)

我已经编写了一个允许将GWT与Gson一起使用的库,您可以下载here并享受它。