2011-02-16 3 views
3

Android에서 Gson을 사용하여 JAXB 주석 클래스를 마샬링/언 마샬링하려고합니다.Gson이 클래스 주석을 관용하는 것을 중단하십시오

JAXB (XML) 주석은 Android 디바이스에서 제공되지 않으므로 JSON 라이브러리는 주석을 검사하지 않아야합니다. 그렇지 않으면 java.lang.NoClassDefFoundError: javax.xml.bind.annotation.XmlElement으로 실행됩니다.

나는 problem을 사용하여 Jackson을 사용하고 있지만, fixed (StaxMan 덕택에) 인 것 같습니다.

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.

불행하게도 나는 그럼에도 불구하고이 문제로 실행 : 내가 수정 때문에이 문서 문에, 나는 GSON가 대안이 될 것이라고 생각 출시 될 때 모르는 것처럼

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

관련 문제