Обеспечьте обратную совместимость с десериализацией Moxy с помощью Jackson.

Поскольку проекты на Джерси по умолчанию начинаются с сериализатора Moxy JSON, я использовал его для многомодульного проекта REST. Но при написании клиентов для этого REST API были свои причуды, and-jersey">из-за этой известной проблемы этот moxy не очень хорошо работает с Картами.

Я перенес ветку разработки моего кода в Джексон, где сериализация хэш-карты хорошо работает без массива entry[], что упрощает написание новых клиентов без трикотажа для проекта. Но мне также нужно как-то сохранить обратную совместимость, если это возможно, для уже написанных клиентов. Как я мог добиться этого с Джексоном?

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


person Zoltán Umlauf    schedule 05.01.2018    source источник
comment
У вас есть тесты, чтобы показать, что сериализация Джексона не будет обратно совместимой? Поставщик Jackson поддерживает большинство аннотаций JAXB. В большинстве случаев сериализация должна оставаться прежней.   -  person Paul Samsotha    schedule 06.01.2018
comment
Да, я пытался передать серверу полезную нагрузку с помощью массива записей, такого как hashmap, и Джексон, что неудивительно, выдал JsonMappingException. Я решил другие причуды, но я не могу найти хорошее решение для этого.   -  person Zoltán Umlauf    schedule 06.01.2018
comment
Возможно, вы сможете использовать пользовательский JsonSerializer и JsonDeserializer.   -  person Paul Samsotha    schedule 06.01.2018
comment
Я только что нашел еще одну вещь, которую Мокси делал автоматически, но с Джексоном это заноза в заднице :(   -  person Zoltán Umlauf    schedule 06.01.2018