如何使用 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 反序列化泛型 Lists(或其他泛型 Collections)一样。通过将 Sample 的通用类型设置为 T,您还设置了包含的 List 的通用类型——这就是 Gson 需要知道的所有内容。