首页 > Java > java教程 > 如何使用Java中的Gson库对泛型类型进行序列化和反序列化?

如何使用Java中的Gson库对泛型类型进行序列化和反序列化?

WBOY
发布: 2023-09-10 09:17:02
转载
733 人浏览过

如何使用Java中的Gson库对泛型类型进行序列化和反序列化?

如果 Java 类是泛型类型,并且我们将其与Gson 库一起用于 JSON 序列化反序列化。 Gson 库提供了一个名为 com.google.gson.reflect.TypeToken 的类,通过创建 Gson TypeToken 类并传递类类型来存储泛型类型。使用这种类型,Gson 可以知道泛型类中传递的类。

语法

public class TypeToken<T> extends java.lang.Object
登录后复制

示例

import java.lang.reflect.Type;
import java.util.*;
import com.google.gson.*;
import com.google.gson.reflect.*;
public class GenericTypesJSONTest {
   public static void main(String[] args) {
      Gson gson = new GsonBuilder().setPrettyPrinting().create();
      List<String> list = Arrays.asList("INDIA", "AUSTRALIA", "ENGLAND", "SOUTH AFRICA");
      String jsonStr = gson.toJson(list);
      System.out.println(jsonStr);
      Type listType = new TypeToken<List<String>>() {}.getType();
      list = gson.fromJson(jsonStr, listType);
      System.out.println(list);
   }
}
登录后复制

输出

[
   "INDIA",
   "AUSTRALIA",
   "ENGLAND",
   "SOUTH AFRICA"
]
[INDIA, AUSTRALIA, ENGLAND, SOUTH AFRICA]
登录后复制

以上是如何使用Java中的Gson库对泛型类型进行序列化和反序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板