【发布时间】:2018-12-03 11:41:01
【问题描述】:
使用 Gson 库,我通过以下代码将 JSON 字符串转换为 ArrayList 对象:
posts = gson.fromJson(json, new TypeToken<List<Post>>(){}.getType());
我使用以下代码将 json 转换为类对象:
obj = gson.fromJson(json, Class.forName(fullClassName));
您在第二个代码中看到我使用反射来指定类的类型; 但是对于第一个代码,我不知道如何使用反射指定列表的类型。
我该怎么办?!
【问题讨论】:
-
感谢 Luk,为我工作第三个答案,但我无法将 ArrayList 项转换为原始类对象,这会引发异常并显示以下消息:
"com.google.gson.internal.LinkedTreeMap can not be cast to com.example.test.User"。当然我通过Class.forName("com.example.test.User")作为Class<T> type的参数。
标签: java reflection gson