杰克逊的Typefactory类里面有很多不赞成使用的方法.我这样使用它:
public List<T> getX(Class<T> clz) {
ObjectMapper mapper = new ObjectMapper();
try {
String jsonData = mapper.writeValueAsString(data);
a = mapper.readValue(jsonData, TypeFactory.collectionType(List.class, clz));
} catch (Exception e) {
System.out.println(e.getMessage());
}
return a;// a is a global variable
}
Run Code Online (Sandbox Code Playgroud)
它警告我,collectionType已弃用.用什么而不是它?
Sta*_*Man 13
TypeFactory本身不被弃用,只是静态方法; 像"constructType"这样的实例方法可用.所以问题是你在哪里获得一个TypeFactory实例.
大多数情况下,您ObjectMapper使用其getTypeFactory方法获得实例; 或来自SerializationConfig/ DeserializationConfig.他们携带一个实例.如果这些都不起作用,那么TypeFactory.instance您也可以使用.
之所以弃用是,一些扩展模块将要替换的标准厂房:具体来说,斯卡拉模块需要使用Scala收费(ETC)类型扩展式处理 - 这些都将默认情况下不工作,因为Scala没有扩展的java.util版本.
| 归档时间: |
|
| 查看次数: |
7088 次 |
| 最近记录: |