我正在编写一个反序列化json响应的方法,如下所示:
public <T> T parse(T t) throws IOException {
ObjectMapper mapper = getMapper(contentType);
T o = (T) mapper.readValue(getMethod.getResponseBodyAsStream(), t.getClass());
return o;
}
我的期望是将上述方法用作:
SomeType object = parse(SomeType.class);
但是,IDE告诉我parse
方法返回Class<SomeType>
。我是如何解决的?我查看了ObjectMapper.readValue(在Jackson库中)的实现,但我认为我不需要这种复杂性。
答案 0 :(得分:1)
更改此方法签名:
public <T> T parse(T t)...
到
public <T> T parse(Class<T> t)...
如果您想要提供课程。
答案 1 :(得分:1)
这应该可行我猜
public <T> T parse(Class<T> classType) throws Exception {
ObjectMapper mapper = getMapper(contentType);
T o = mapper.readValue(getMethod.getResponseBodyAsStream(), classType);
return o;
}