【发布时间】:2023-01-20 14:56:31
【问题描述】:
您好,我正在将所有与 FasterXml 相关的代码移动到一个地方。所以我正在编写一个类似下面的包装器方法,它在很多地方都使用过。
public static <T> T convertToObject(String json, Class clazz){
return objectMapper.read(json, new TypeReference<clazz>(){};
这样上面的方法就可以在下面的很多地方使用
List<Foo> fooList=convertToObject(jsonString,List<Foo>);
Map<Foo> fooMap=convertToObject(jsonString,Map<Foo>);
Boo<List<Foo>> booList=convertToObject(jsonString,Boo<List<Foo>>);
etc
这个 clazz 可以是 List<POJO> 或 Map<POJO> 或 POJO<LIST<POJO>> 等。但是在上面的 convertToObject 方法中,new TypeReference<clazz>(){} 的语法是不正确的。
请帮助我编写像上面这样的 util/wrapper 方法,它以字符串 Payload 和一些类作为参数,并在反序列化后返回对象。
【问题讨论】:
-
是不正确的方法?你能描述一下不正确的地方吗?
标签: java deserialization fasterxml