2011-02-16 3 views
3

Я пытаюсь использовать Gson на Android для аннотированных классов JAXB для маршалла/unmarshall.Стоп 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

Последние новости на главной странице от «6 декабря 2008 года», и вы не знаете, будет ли моя проблема решена с помощью этой библиотеки. Спасибо за намек на эту библиотеку, но я полагаю, что я не стану пытаться. – FrVaBe

+0

[user-list] (http://xstream.codehaus.org/list-user.html) по-прежнему активен, а ведущий разработчик отвечает на запросы на него. И если вы посмотрите на [tracker] (http://jira.codehaus.org/browse/XSTR?report=com.atlassian.jira.plugin.system.project:changelog-panel), библиотека находится в режиме maintenence –

+0

Спасибо для указания этого. Всегда хорошо иметь выбор. – FrVaBe