Gson из Json переключается на другой тип данных в случае сбоя при отображении поля
У нас был Объект, скажем, Автомобиль.
Vehicle {
/// other attributes
private String item;
}
Мы хранили Автомобиль как JSON в DynamoTables. и в другом потоке мы делали следующее:
private static final Gson GSON = new GsonBuilder().serializeSpecialFloatingPointValues().create();
GSON.fromJson(p, Vehicle.class)
Проблема в том, что недавно мы сделали изменение кода, где мы изменили Автомобиль следующим образом:
Vehicle {
// other attributes
private Map<EnumType, String> item; // note variable name is same
}
Так что теперь для старых значений GSON.fromJSON начал давать сбой. Мы не можем вернуться к старому типу данных, так как эта проблема начнет появляться для более нового объекта json, хранящегося в БД. Каков наилучший способ справиться с этим? Я могу думать о некоторых грязных подходах... но хочу спросить, предоставляет ли GSON.fromJSON какой-либо способ обработки такого рода изменений в dataType с тем же именем переменной?