当我设计一个要序列化和反序列化的类时,我遇到了问题。
这是问题,我有一个班级
class Thing {
int a;
String b;
String type;
Type typeinfo;
}
基本上Type
是一个抽象类,如
abstract class Type {
//nothing here
}
我有一些实现
class CarType extends Type {
int x;
int y;
}
和
class TruckType extends Type {
list<Integer> listOfInt;
}
String type
设置为"CarType"
或"TruckType"
甚至其他人,我可以知道typeinfo
使用Gson序列化它是好的但是如何反序列化json字符串?
修改
以下是Json String
的示例case1:
{
"a" : 1,
"b" : "aaa",
"type": "car",
"typeinfo": {
"x" : 10,
"y" : 100
}
}
case2:
{
"a" : 1,
"b" : "aaa",
"type": "truck",
"typeinfo": {
"listOfInt" : [1, 2, 3]
}
}
只是一个快速的模拟,但我想这个想法应该是清楚的,问题是我不想把“类型”放入只假设信息的typeinfo。