我正在使用jackson ObjectMapper
objectMapper.readValue(jsonString, ResourceTypes.getClassName(resourceType))
ResourceTypes.getClassName(resourceType)
返回不同的类名。
Ex:Student.class,Hotel.class等
现在我想为此编写一个通用函数:
public static T toPOJO(String json, Class<T> type){
try {
return JSON_MAPPER.readValue(json, type);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
然而,这会产生错误未知类型T
。如何写这个函数来返回任何POJO?
答案 0 :(得分:0)
试试这个,可能会有效
public static <T> T toPOJO(String json, Class<T> type) {
try {
return JSON_MAPPER.readValue(json, type);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
如有任何问题,请告诉我。