反序列化列表
在使用 Google Gson 传输列表对象的过程中,出现了反序列化泛型类型的困难。在尝试受 BalusC 响应启发的解决方案时,出现了一条错误消息,指示需要方法实现。
但是,存在更有效的方法,利用 TypeToken 类,如下所示:
Type listType = new TypeToken<ArrayList<YourClass>>(){}.getType(); List<YourClass> yourClassList = new Gson().fromJson(jsonArray, listType);
TypeToken 类将编译时类型捕获到 java.lang.reflect.Type 对象中,这与仅表示原始类型的 Class 对象不同。这使得可以用 Java 语言表示任何类型,包括泛型类型。
TypeToken 类是匿名构造的,因为不允许直接构造它。这是捕获匿名子类中的类型信息所必需的。
需要注意的是,TypeToken 只能捕获在编译时完全已知的类型。
以上是如何使用Gson反序列化列表对象?的详细内容。更多信息请关注PHP中文网其他相关文章!