18

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

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

谢谢!

4

5 回答 5

25

Gson 使用 GWT 中不支持的 Java 功能,例如反射。因此不可能在 GWT 客户端代码中使用 Gson。

于 2010-02-14T11:19:07.897 回答
15

不完全是你写的,但我猜你的意思是如何在 GWT 代码中序列化/反序列化 JSON?

在 GWT 2.1.1 中,您可以使用GWT AutoBean 框架

在文章的底部看到它有这个神奇的代码......

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();   
} 

即使使用继承 Person 的实例,serializeToJson() 对我来说也很好,但我没有尝试 deserializeFromJson ......

于 2011-01-25T22:56:39.103 回答
3

(如果您愿意,请随时增强我的帖子)

目前(2015-02-07)虽然我非常喜欢 Gson 并且希望只有一个共享代码解决方案是不可能的 :-/ ,但是还有一些其他库可用(我自己只知道 AutoBeans 和 Gson 并且有快速浏览一下 Piriti):

(有些支持 XML 和 JSON(反)序列化中的一种或两种)

(*) 来自 GWT 项目本身

比较:

于 2015-02-07T11:56:53.627 回答
2

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

奇迹般有效 :-)

于 2011-09-01T07:18:40.413 回答
2

我编写了一个库,允许将 GWT 与 Gson 一起使用,您可以在此处下载并享受它。

于 2013-05-10T11:35:12.263 回答