我正在尝试使用JSON-B API从文件中反序列化 json
这是代码
public List<User> getUsers(String file) {
InputStream is = getResourceAsStream(file);
return JsonbBuilder.create().fromJson(is, new ArrayList<User>(){}.getClass().getGenericSuperclass());
}
它按预期工作。
我试图概括这种方法而不是硬编码User
,但它似乎不起作用
public static <T> List<T> getFromSource(String file, Class<T> t) {
InputStream is = getResourceAsStream(file);
return getJsonb().fromJson(is, t.getGenericSuperclass());
}
尝试调用上述方法
List<User> users = getFromSource("users.json", User.class);
User user = user.get(0);
但是,它扔了Exception in thread "main" java.lang.ClassCastException: java.util.HashMap incompatible with User
所以,看起来它是一个List<HashMap>
尽管List<User>