首页  >  文章  >  Java  >  如何使用 Jackson 将 JSON 反序列化为通用类型?

如何使用 Jackson 将 JSON 反序列化为通用类型?

DDD
DDD原创
2024-11-23 13:23:11467浏览

How to Deserialize JSON into Generic Types with Jackson?

使用 Jackson 进行泛型反序列化

将 JSON 数据反序列化为像 Data 这样的泛型类时,通常需要指定通用参数 T。使用 mapper.readValue(jsonString, Data.class) 的标准方法不提供此功能信息。

为了解决这个问题,Jackson 依赖于 TypeReference 对象。通过专门为所需的泛型类型创建 TypeReference,您可以指导反序列化过程。

要将 JSON 字符串反序列化为 Data 的实例,请使用匿名内部类语法实例化 TypeReference:

TypeReference<Data<String>> typeRef = new TypeReference<Data<String>>() {};

然后,将 TypeReference 作为第二个参数传递给 readValue方法:

Data<String> data = mapper.readValue(jsonString, typeRef);

此方法确保 Jackson 知道要反序列化的 T 的特定类型,从而产生正确的反序列化行为。

以上是如何使用 Jackson 将 JSON 反序列化为通用类型?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn