Jackson - 使用通用类反序列化

新手上路,请多包涵

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

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

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

mapper.readValue(jsonString, Data.class);

但是我怎么提到T代表什么?

原文由 gnjago 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 417
1 个回答

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

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

原文由 Eser Aygün 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题