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 с тем же именем переменной?

0 ответов

Другие вопросы по тегам