Jackson 3rd Party Class без конструктора по умолчанию
Я пытаюсь использовать Джексона для чтения/записи своих POJO в/из Json. На данный момент я настроил и работал для своих классов, за исключением третьего класса. При попытке прочитать в Json я получаю сообщение об ошибке:
org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type
После нескольких быстрых поисковых запросов Google кажется, что моему классу нужен либо конструктор по умолчанию либо переопределить конструктор по умолчанию с аннотациями. К сожалению, класс, в котором это происходит, относится к сторонней библиотеке, и этот класс не имеет конструктора по умолчанию, и я, очевидно, не могу переписать код.
Итак, мой вопрос: есть ли что-нибудь, что я могу сделать по этому поводу или мне просто не повезло?
Спасибо.
Ответы
Ответ 1
Вы можете использовать функцию Jackson Mix-Ins, в сочетании с функция "Создатель" . Функция Mix-Ins устраняет необходимость аннотировать оригинальный сторонний код, а функция Creator обеспечивает механизм создания пользовательских экземпляров.
Для еще большей настройки не слишком важно написать настраиваемый десериализатор.