这里解释了泛型类型的反序列化 https://stackoverflow.com/a/8829656/4553806。 现在假设我们有一些情况,但是我的Class有两个构造函数,它们具有不同的参数计数。
class TestClass(val par1:String, val par2:String)
class TestClass(val par1:String)
所以我知道我的对象是TestClass的类型,但是我不知道它是用哪个构造函数初始化的。
如何反序列化?
使用这种方式
val fooType = object : TypeToken<Myclass<String>>() {}.type;
gson.fromJson(json, fooType);
或这个
val fooType = object : TypeToken<Myclass<String, String>>() {}.type);
gson.fromJson(json, fooType);
如果对象字段计数不匹配,可能会导致异常。
如果有人对此案有经验,请在这里提及。
答案 0 :(得分:0)
GSON非常易于使用,只需设置您的serializedName并使用GSON转换器进行填充即可。这是一个简单的教程。