我想使用jackson json库编写一个通用方法,代码如下:
public MyRequest<T> tester() {
TypeReference<MyWrapper<T>> typeRef = new TypeReference<MyWrapper<T>>();
MyWrapper<T> requestWrapper = (MyWrapper<T>) JsonConverter.fromJson(jsonRequest, typeRef);
return requestWrapper.getRequest();
}
public class MyWrapper<T> {
private MyRequest<T> request;
public MyRequest<T> getRequest() {
return request;
}
public void setRequest(MyRequest<T> request) {
this.request = request;
}
}
public class MyRequest<T> {
private List<T> myobjects;
public void setMyObjects(List<T> ets) {
this.myobjects = ets;
}
@NotNull
@JsonIgnore
public T getMyObject() {
return myobjects.get(0);
}
}
现在的问题是,当我调用包含在请求对象中的getMyObject()方法时,Jackson返回嵌套的自定义对象为LinkedHashMap。有没有办法指定需要返回T对象?例如:如果我发送了Customer类型的对象,则应该从该列表中返回Customer对象。
TypeReference
不是抽象的吗? - Kyle Delaney