提问者:小点点

如何解码Jackson中的通用数据?


我怎么能这样做:

Test<String> data = OBJECT_MAPPER.decodeValue("sss", Test<String>.class);

当我调用这个操作时,我得到一个错误。我需要解码通用类。

谢谢你的帮助。


共1个答案

匿名用户

您可以使用类型引用测试

TypeReference testStringType = new TypeReference<Test<String>>() { };
Object value = mapper.readValue(json, testStringType);

也有效:

JavaType javaType = mapper.getTypeFactory().constructParametricType(Test.class, String.class);
Test<String> value1 = mapper.readValue(json, javaType);

另请参阅:

  • 杰克逊 - 使用泛型类反序列化
  • 杰克逊 - 反序列化泛型类变量