我有一个类:
public class Barn {
String type;
Animal animal;
}
public class Horse extends Animal {
}
public class Cow extends Animal {
}
Run Code Online (Sandbox Code Playgroud)
我想序列化它们的列表:
List<Barn> barns = new ArrayList<Barn>();
Barn barn1 = new Barn();
barn1.setType("horse");
barn1.setAnimal(new Horse());
barns.add(barn1);
Barn barn2 = new Barn();
barn2.setType("cow");
barn2.setAnimal(new Cow());
barns.add(barn2);
...
Group<Barn> barns = gson.fromJson(serialized);
Run Code Online (Sandbox Code Playgroud)
当我序列化时,Animal属性的类型信息将丢失.有没有办法我可以以某种方式安装解析器监听器,以便我可以提供正确的类来反序列化,因为遇到列表中的每个元素?这就是手动提供描述类类型的字符串的想法.
谢谢
如何在Gson中实现TypeAdapterFactory类型?
创建的主要方法是通用的.为什么?
注册方法registerTypeAdapterFactory()不接收类型参数.那么,如何Gson知道工厂处理哪些类?
我应该为多个类实现一个工厂,还是可以为多个类实现一个工厂?
如果我为多个类实现一个工厂,那么在域外类型参数的情况下我应该返回什么?