2013-05-24 2 views
1

Я использую Json-Jackson для сериализации/десериализации моего объекта, и все хорошо сочетается со встроенными классами.
Строка, int и т. Д. Очень хорошие. Но теперь я должен сериализовать/десериализовать объект, построенный определенным образом. Следуйте декларации:JSON Jackson serialize deserialize Список List

class A implements Serializable { 
    private String id; 
    private List<B> bobjs; 
    ...getters & setters (but not for String id) 
} 
class B implements Serializable { 
    private String id; 
    private String label; 
    private List<C> cobjs; 
    ...getters & setters (but not for String id) 
} 
class C implements Serializable { 
    private String id; 
    private String label; 
    private BigDecimal counts; 
    ...getters & setters (but not for String id) 
} 

Если я использую стандартный сериализатора/десериализации, он говорит мне сообщение об ошибке, как «java.lang.UnsupportedOperationException ...», поэтому он не может сериализовать/десериализации bobjs.
Как это сделать в общем виде, поэтому я не пишу 3 сериализатора/десериализатора, но только говорю Json-Jackson, когда сталкивается с объектом типа «Список», он должен сериализовать/десериализовать его как массив (например).
Спасибо всем!

P.S. Я нахожу примеры в google, но они предназначены только для простого объекта, но не для List, которые сформированы из List .. и так далее.

+0

Ваш вопрос не совсем ясен. Включите свои собственные сериализаторы (если есть) и полное исключение stacktrace. – Perception

+0

Не могли бы вы добавить исходный код и примеры объектов? Я думаю, ваша проблема не связана с Джексоном. Если вам все еще нужна помощь с нашей стороны, пожалуйста, улучшите свой вопрос. –

+0

Полный стек: java.lang.UnsupportedOperationException (через цепочку ссылок: TheResult ["customData"] -> java.util.HashMap ["Datas"] -> Данные ["bobjs"] -> java.util.ArrayList [ 0] -> B [ "cobjs"] -> java.util.ArrayList [0] -> ... – Giant2

ответ

0

Проблема была связана с действительно глубоким объектом, не сериализуемым. Действительно глубоко и мало. Спасибо всем.