я следующее:класс Serialize основанный на одном интерфейсе он реализует с Джексоном или Gson
интерфейс I1 проходит Ia, Ib, Ic
интерфейс I2.
Класс C реализует I1, I2. И этот класс имеет свои собственные сеттеры и геттеры.
С cInstance = новый С():
//Jackson
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(new File("somefile.json"), cInstance);
//Gson
Gson gson = new Gson();
String json = gson.toJson(cInstance);
Выходной сигнал будет cInstance сериализовать в соответствии со свойствами C и тем, что он унаследовал. Однако мне нравится, что свойства сериализуются в соответствии с сеттерами/геттерами в I1 (только свойства cInstance, представленные в интерфейсе I1).
Как это сделать с Джексоном, зная, что у меня слишком много классов с одинаковой проблемой, и я не могу изменить определение класса или добавить аннотации.
И тот же вопрос относится и к десериализации (Десериализация в соответствии с интерфейсом)
Благодаря
ссылка не работает – Kaan
Извините, что, спасибо за отчетность, исправлено. – StaxMan
Это должно быть @JsonSerialize (as = MyInterface.class), но, к сожалению, это не работает для меня в jackson 2.1.1. Атрибут using предназначен для указания реализации JsonSerializer. –