本文介绍了如何在Jackson中解码通用数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我该怎么做:
Test<String> data = OBJECT_MAPPER.decodeValue("sss", Test<String>.class);
当我调用此操作时,我得到一个错误.我需要解码通用类.
When I call this operation I get an error. I need decode generic class.
感谢您的帮助.
推荐答案
您可以使用TypeReference
. Test<String>.class
在Java
中是不可能的.
You can use TypeReference
. Test<String>.class
is not possible in Java
.
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);
另请参阅:
- Jackson - Deserialize using generic class
- Jackson - Deserialize Generic class variable
这篇关于如何在Jackson中解码通用数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!