2010-04-28 3 views
3

ActiveObject를 내 ORM으로 사용하고 Gson을 내 JSON 프로세서로 사용합니다.프록시 객체를 직렬화 할 수있는 JSON 라이브러리가 있습니까?

문제가 생길 때까지 Json에서 개체가 지속됩니다. 문제는 내 지속 클래스가 실제로 인터페이스이고 AO가 해당 객체를 프록시로 처리한다는 것입니다. .

가 venue.getClass() getName()가 제공
java.lang.UnsupportedOperationException: Expecting parameterized type, 
got interface java.lang.reflect.InvocationHandler. 
Are you missing the use of TypeToken idiom? 
See http://sites.google.com/site/gson/gson-user-guide#TOC-Serializing-and... 

때문에 :

은 $ Proxy228

나 '

Venue venue = manager.get(Venue.class, id); 
    gson.toJson(venue); 

이 예외와 함께 온다 : 여기 몇 가지 샘플 코드입니다 여러 가지 조합으로 몇 가지 해결책을 시도했습니다.

gsonBuilder.registerTypeAdapter(Venue.class, newVenueSerializer()); 
    Type listType = new TypeToken<Venue>() {}.getType(); 

지금까지 아무 것도 작동하지 않았으며 필드별로 필드 해결 방법을 사용하고 있습니다. 어떤 제안? 나는 Gson과 결혼하지 않았다. 그래서 이것을 할 수있는 대안의 도서관이 있다면 나는 그것을 사용하게되어 기쁠 것이다.

답변

0

Flex JSON - bean 속성 인트로 스펙터를 사용하여 객체를 가져오고, 프록시 클래스가이를 올바르게 구현한다고 가정합니다.

+0

사진을 찍어보고합니다. 감사! – gmoore

+0

프록시 클래스가 introspector를 구현하는 것처럼 보이지 않습니다. 만약 그렇다면, 당신은 옳았습니다. 그래서, 당신이 이깁니다. – gmoore

+0

많은 승리를 거두지 못했습니다 ... 죄송합니다. – stevedbrown