杰克逊 - 反序列化使用泛型类 [英] Jackson - Deserialize using generic class

查看:89
本文介绍了杰克逊 - 反序列化使用泛型类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个json字符串,我应该对以下类进行序列化:

  class Data< T> {
int找到;
Class< T>点击
}

我该怎么做?
这是通常的方式

$ $ $ $ $ $ $ mapper.readValue(jsonString,Data.class);

但是,我如何提到T代表什么?

TypeReference 对象,并将其用于反序列化。例如,

  mapper.readValue(jsonString,new TypeReference< Data< String>>(){}); 


I have a json string, which I should deSerialize to the following class

class Data <T> {
    int found;
    Class<T> hits
}

How do I do it? This is the usual way

mapper.readValue(jsonString, Data.class);

But how do I mention what T stands for?

解决方案

You need to create a TypeReference object for each generic type you use and use that for deserialization. For example,

mapper.readValue(jsonString, new TypeReference<Data<String>>() {});

这篇关于杰克逊 - 反序列化使用泛型类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆