相关疑难解决方法(0)

杰克逊和泛型类型参考

我想使用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();
}
Run Code Online (Sandbox Code Playgroud)

...

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{
     private List<T> myobjects;

     public void setMyObjects(List<T> ets) {
         this.myobjects = ets;
     }

     @NotNull
     @JsonIgnore
     public T getMyObject() {
         return myobjects.get(0);
     }
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是,当我调用请求对象内的getMyObject()时,jackson将嵌套的自定义对象作为LinkedHashMap返回.有没有什么方法可以指定需要返回T对象?例如:如果我发送了Customer类型的对象,那么应该从该列表返回Customer?

谢谢.

java generics json jackson

96
推荐指数
2
解决办法
12万
查看次数

标签 统计

generics ×1

jackson ×1

java ×1

json ×1