Здесь объясняется десериализация для классов с универсальными типами https://stackoverflow.com/a/8829656/4553806. Теперь предположим, что у меня есть какая-то ситуация, но у моего класса есть два конструктора с различным количеством параметров.
class TestClass(val par1:String, val par2:String)
class TestClass(val par1:String)
Итак, я знаю, чтомой объект типа TestClass, но я не знаю, с каким конструктором он инициализирован.
Как десериализовать?
Используя этот способ
val fooType = object : TypeToken<Myclass<String>>() {}.type;
gson.fromJson(json, fooType);
или это
val fooType = object : TypeToken<Myclass<String, String>>() {}.type);
gson.fromJson(json, fooType);
может вызвать исключение, если число полей объектов не совпадает.
Если кто-либо имеет опыт работы с этим случаем, пожалуйста, укажите это здесь.