我们有一个对象说车辆。
Vehicle {
/// other attributes
private String item;
}
我们将Vehicle作为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开始失败。我们不能回到较旧的数据类型,因为存储在db中的较新的json对象将开始出现此问题。处理此问题的最佳方法是什么?我可以想到一些肮脏的方法..但是想问一问GSON.fromJSON是否提供某种方式来处理具有相同变量名的dataType中的这种变化?