私は現在、EclipseでGWT2.0を使用してJavaでWebアプリケーションを作成しています。GWTアプリケーションのクライアントコードでGsonライブラリを使用する方法があるかどうかを知りたいと思いました。
方法があれば-方法を教えてください...
ありがとう!
Gsonは、リフレクションなど、GWTでサポートされていないJava機能を使用します。したがって、GWTクライアント側のコードでGsonを使用することはできません。
正確にはあなたが書いたものではありませんが、あなたが意味したのは、GWTコードでJSONをシリアル化/逆シリアル化する方法だったと思いますか?
GWT 2.1.1では、 GWTAutoBeanフレームワークを使用できます
記事の下部にあるこの魔法のコードを参照してください...
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を試しませんでした...
(必要に応じて、私の投稿を自由に強化してください)
現在(2015-02-07)Gsonがとても好きで、共有コードのソリューションを1つだけにしたいのですが、それは不可能です:-/、他にもいくつかのライブラリがあります(AutoBeansとGsonを自分で知っているだけで、 Piritiの概要):
(XMLとJSON(逆)シリアル化の両方または一方のみをサポートするものもあります)
(*)GWTプロジェクト自体から
比較:
GWTプロジェクトでは、piritiを使用します: http ://code.google.com/p/piriti/
魅力のように機能します:-)
GsonでGWTを使用できるライブラリを作成しました。ここからダウンロードして楽しむことができます。