Задать вопрос
@kidar2

Java Gson deserialization. Как обработать интерфейсы?

Есть у меня такие типы:
interface IBla
{
	
}

class Bla implement IBla
{
	private int field;
}

class Bla2 implement IBla
{
	private int field;
	private int field2;
}

class Foo
{
	IBla kuku;
}
Сериализация объектов класса Foo проходит нормально.
Но вот как десeриализовать полученный json обратно? Проблема в том, что надо как-то объяснить gson'у, объект какого типа брать (Bla или Bla2), чтобы правильно сделать десeриализацию. Как это можно сделать?
  • Вопрос задан
  • 3122 просмотра
Подписаться 1 Оценить Комментировать
Ответ пользователя Moxa К ответам на вопрос (3)
@Moxa
есть дикая мысль сделать Foo типизированным, не знаю насколько это будет правильно.. типа так
class Foo<T extends IBla>
{
  T kuku;
}

и десериализовывать как
Foo foo = gson.fromJson(jsonString, new TypeToken<Foo<Bla2>>() {}.getType())
Ответ написан