Использование библиотеки Gson в коде клиента GWT

В настоящее время я пишу веб-приложение на Java, используя GWT 2.0 в Eclipse. Я хотел знать, есть ли способ использовать библиотеку Gson в клиентском коде приложения GWT.

и если есть способ - подскажите пожалуйста как...

Спасибо!

5 ответов

Решение

Не совсем то, что вы написали, но я думаю, что вы имели в виду, как сериализовать / десериализовать JSON в коде GWT?

В 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...

Gson использует функции Java, которые не поддерживаются в GWT, такие как отражение. Таким образом, невозможно использовать Gson в коде на стороне клиента GWT.

(не стесняйтесь улучшать мой пост, если хотите)

в настоящее время (2015-02-07) это невозможно, хотя мне очень нравится Gson и я хотел бы иметь только одно решение для общего кода: - /, но есть и другие доступные библиотеки (я знаю только AutoBeans и Gson и имел быстрый взгляд на Пирити):

(некоторые поддерживают как сериализацию XML, так и JSON (де))

(*) из самого проекта GWT

Сравнения:

Я написал библиотеку, которая позволяет использовать GWT с Gson, вы можете скачать здесь и наслаждаться ею.

В нашем проекте GWT мы используем piriti: http://code.google.com/p/piriti/

Работает как шарм:-)

Другие вопросы по тегам