Подтвердить что ты не робот

Jackson 3rd Party Class без конструктора по умолчанию

Я пытаюсь использовать Джексона для чтения/записи своих POJO в/из Json. На данный момент я настроил и работал для своих классов, за исключением третьего класса. При попытке прочитать в Json я получаю сообщение об ошибке:

org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type

После нескольких быстрых поисковых запросов Google кажется, что моему классу нужен либо конструктор по умолчанию либо переопределить конструктор по умолчанию с аннотациями. К сожалению, класс, в котором это происходит, относится к сторонней библиотеке, и этот класс не имеет конструктора по умолчанию, и я, очевидно, не могу переписать код.

Итак, мой вопрос: есть ли что-нибудь, что я могу сделать по этому поводу или мне просто не повезло?

Спасибо.

4b9b3361

Ответ 1

Вы можете использовать функцию Jackson Mix-Ins, в сочетании с функция "Создатель" . Функция Mix-Ins устраняет необходимость аннотировать оригинальный сторонний код, а функция Creator обеспечивает механизм создания пользовательских экземпляров.

Для еще большей настройки не слишком важно написать настраиваемый десериализатор.