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

Rub*_*nsh 18 java gwt gson

我目前正在eclipse中使用GWT 2.0在java中编写Web应用程序.我想知道是否有一种方法可以在GWT应用程序的客户端代码中使用Gson库.

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

谢谢!

Lau*_*uri 25

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

  • 那是对的.在客户端,最简单的方法是将json转换为对象是使用覆盖类型. (3认同)

Bor*_*ich 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();   
} 
Run Code Online (Sandbox Code Playgroud)

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