gson 如何使用类名动态设置一个ArrayList类型?

bkhjykvo  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(229)

使用Gson库,我通过以下代码将JSON字符串转换为ArrayList对象:

posts = gson.fromJson(json, new TypeToken<List<Post>>(){}.getType());

我使用下面的代码将json转换为类objec:

obj = gson.fromJson(json, Class.forName(fullClassName));

您可以在第二段代码中看到,我使用反射来指定类的类型;但是对于第一段代码,我不知道如何使用反射指定列表的类型。
我该怎么办?

tjvv9vkg

tjvv9vkg1#

所以,据我所知,你需要反序列化对象列表,但类型在编译时是未知的,但你是动态提供它?
您可能希望为您的类型使用类似的内容:

TypeToken.getParameterized(List.class, Class.forName("foo.bar.MyDynamicType"))

这将创建与

new TypeToken<List<MyDynamicType>>(){}.getType()

相关问题