2011-02-16 12 views
3

AndroidでGsonを使用して、JAXBアノテーション付きクラスを整列/整列解除しようとしています。Gsonによるクラス注釈の中止

JAXB(XML)アノテーションはAndroidデバイスでは提供されていないため、JSONライブラリはアノテーションを検査してはいけません。そうしないと、java.lang.NoClassDefFoundError: javax.xml.bind.annotation.XmlElementが実行されます。

problem私はJacksonを使用していますが、これはfixed(StaxManのおかげで)のようです。修正プログラムは、私はGsonがあるため、このドキュメントの文の、代わりのだろうと思っリリースされたとき、私は知らないよう:

There is no need to use any annotations to indicate a field is to be included 
for serialization and deserialization. All fields in the current class (and 
from all super classes) are included by default.

残念ながら、私はそれにもかかわらず、この問題に遭遇:

ERROR/AndroidRuntime(338): java.lang.NoClassDefFoundError: javax.xml.bind.annotation.XmlElement 
ERROR/AndroidRuntime(338):  at java.lang.reflect.Field.getDeclaredAnnotations(Native Method) 
ERROR/AndroidRuntime(338):  at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:196) 
ERROR/AndroidRuntime(338):  at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:199) 
ERROR/AndroidRuntime(338):  at com.google.gson.FieldAttributes.getAnnotations(FieldAttributes.java:159) 

がありますGsonで注釈検査を行う方法は?

おかげ クラウス

+0

これ以降、この問題の解決策を見つけましたか? –

+0

@resusいいえ、私はこの問題を追求していないので、現在のステータスについては何も言えません。 – FrVaBe

答えて

1

xStream has some JSON support built in、多分あなたはそれを試してみて、結果が何であるかを見るべきです。

+0

ホームページの最新ニュースは「2008年12月6日」です。このライブラリで問題が解決するかどうかは分かりません。このライブラリへのヒントをありがとうが、私はそれを試してはいけないと思う。 – FrVaBe

+0

[user-list](http://xstream.codehaus.org/list-user.html)は依然としてアクティブであり、リード開発者はそのユーザーのクエリに応答します。 [トラッカー](http://jira.codehaus.org/browse/XSTR?report=com.atlassian.jira.plugin.system.project:changelog-panel)を見ると、図書館は保守モードになります –

+0

ありがとうこれを指摘するため。選択肢を持つことは常に良いことです。 – FrVaBe