对于含有泛型的Collection在使用Gson序列化时信息丢失的解决方案
这两天项目接近冒烟阶段,没时间作详细描述。将关键类列举如下:
序列化的Adapter:
public class GsonTest {public static void main(String[] args) {JeepCar car1 = new JeepCar();car1.setPrice(1000);car1.setSpeed(200);MotorCar car2 = new MotorCar();car2.setPrice(2000);car2.setYear(1999);List<Car> cars = new ArrayList<Car>();cars.add(car1);cars.add(car2);GsonBuilder gb = new GsonBuilder().serializeNulls();Type baseType = new TypeToken<List<Car>>(){}.getType();gb.registerTypeAdapter(baseType, new CarListTypeAdapter());gb.registerTypeAdapter(JeepCar.class, new CarTypeAdapter());gb.registerTypeAdapter(MotorCar.class, new CarTypeAdapter());Gson gson = gb.create();String str = gson.toJson(cars);System.out.println(str);List<Car> cars3 = gson.fromJson(str, baseType);System.out.println(((JeepCar)cars3.get(0)).getSpeed());}}?