如何使用 GSON 解析具有 INNER 泛型的 class?
how to use GSON to parse a class with INNER generic type?
我用 google 搜索了 gson 和泛型,所有示例都是关于 List 的。
如果泛型类型在 class 中怎么办?例如:
public class SAMPLE<T> {
private int fixedHeader1;
private String fixedHeader2;
private List<T> data;
}
那么如何使用 GSON 反序列化这个 class?
谢谢~
应该是:
Sample<String> sampleWithStringListInside = new Gson().fromJson(jsonString, new TypeToken<Sample<String>>(){}.getType());
也就是说,它的工作方式就像使用 Gson 反序列化泛型 List
s(或其他泛型 Collection
s)一样。通过将 Sample
的通用类型设置为 T
,您还设置了包含的 List
的通用类型——这就是 Gson 需要知道的所有内容。
我用 google 搜索了 gson 和泛型,所有示例都是关于 List
如果泛型类型在 class 中怎么办?例如:
public class SAMPLE<T> {
private int fixedHeader1;
private String fixedHeader2;
private List<T> data;
}
那么如何使用 GSON 反序列化这个 class?
谢谢~
应该是:
Sample<String> sampleWithStringListInside = new Gson().fromJson(jsonString, new TypeToken<Sample<String>>(){}.getType());
也就是说,它的工作方式就像使用 Gson 反序列化泛型 List
s(或其他泛型 Collection
s)一样。通过将 Sample
的通用类型设置为 T
,您还设置了包含的 List
的通用类型——这就是 Gson 需要知道的所有内容。