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

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

问题描述

我有一个 json 字符串,我应该将其反序列化为以下类

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);

但我如何提及 T 代表什么?

But how do I mention what T stands for?

推荐答案

您需要为您使用的每个泛型类型创建一个 TypeReference 对象,并将其用于反序列化.例如 -

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>>() {});

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

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