这是Java类型擦除的一个众所周知的问题:T只是一个类型变量,你必须指示实际的类,通常将其作为Class参数。没有这些信息,最好的办法就是使用界限。普通T与“ T扩展对象”大致相同。然后Jackson会将JSON对象绑定为Maps。
在这种情况下,tester方法需要有权访问Class,你可以构造
JavaType type = mapper.getTypeFactory(). constructCollectionType(List.class, Foo.class)
接着
List<Foo> list = mapper.readValue(new File("input.json"), type);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)