У меня есть интерфейс на java, и я хочу использовать его для разбора json. Например, рассмотрим интерфейс:
interface Student {
String getName();
int getId();
}
И с json вроде:
{"id":1, "name" = "jon"}
Я хочу проанализировать этот json, используя только интерфейс. Существует несколько конкретных реализаций этого класса, и классы реализации имеют намного больше полей, чем в json, поэтому я не хочу использовать эти классы. Я знаю, что могу добиться этого, используя прокси-серверы Dynamix в java, определив свои собственные обработчики вызовов. Но есть ли что-то встроенное в Джексон для этого?
Заранее спасибо.
Почему это та же проблема? Решение требует изменений в реализации классов, в то время как я искал способ десериализации с использованием интерфейса, не меняя вообще реализующие классы. Не уверен, почему этот вопрос был отклонен.
Я только сказал может быть, это та же проблема *. И, кстати, я не голосующий против.




Джексон должен иметь возможность создавать объекты из JSON, но интерфейс не может быть создан, поэтому это невозможная проблема (помимо некоторого взлома прокси). Если вы хотите десериализовать общий объектный класс, просто измените интерфейс на класс.
Этот ответ не совсем точен, поскольку можно зарегистрировать реализацию интерфейса, который будет использоваться при десериализации.
Может быть та же проблема, что и Как добавить собственный десериализатор в интерфейс с помощью jackson