使用 Jackson 将 JSON 反序列化为通用类
在处理 JSON 数据时,我们可能会遇到需要将 JSON 字符串反序列化为类的场景具有通用参数。 Jackson 库提供了一种有效处理此类反序列化场景的方法。
要将 JSON 字符串反序列化为泛型类,我们首先需要使用泛型类型参数定义该类:
class Data<T> { int found; Class<T> hits }
现在,要将 JSON 反序列化为 Data 实例,我们可以使用 Jackson 提供的 TypeReference 类。 TypeReference 允许我们指定泛型类的类型并相应地反序列化 JSON。
ObjectMapper mapper = new ObjectMapper(); String jsonString = "..."; TypeReference<Data<String>> typeRef = new TypeReference<>() {}; Data<String> data = mapper.readValue(jsonString, typeRef);
在此示例中,我们为 Data
需要注意的是,我们在使用 TypeReference 时需要提供泛型参数的具体类型。在本例中,我们指定了 String 作为 T 的类型。
通过使用 TypeReference,我们可以使用 Jackson 有效地将 JSON 反序列化为泛型类,从而使我们能够轻松处理复杂的数据结构。
以上是Jackson 如何将 JSON 反序列化为通用类?的详细内容。更多信息请关注PHP中文网其他相关文章!