Java 通用函数json到POJO?
我正在使用jacksonJava 通用函数json到POJO?,java,json,generics,jackson,Java,Json,Generics,Jackson,我正在使用jacksonObjectMapper将json字符串转换为POJO objectMapper.readValue(jsonString, ResourceTypes.getClassName(resourceType)) ResourceTypes.getClassName(resourceType)返回不同的类名 例:学生、班级、酒店、班级等 现在,我想为以下内容编写一个通用函数: public static T toPOJO(String json, Class<T>
ObjectMapper将json字符串转换为POJO
objectMapper.readValue(jsonString, ResourceTypes.getClassName(resourceType))
ResourceTypes.getClassName(resourceType)
返回不同的类名
例:学生、班级、酒店、班级等
现在,我想为以下内容编写一个通用函数:
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;
}
publicstatict-toPOJO(字符串json,类类型){
试一试{
返回JSON_MAPPER.readValue(JSON,类型);
}捕获(JSONParsee异常){
e、 printStackTrace();
}捕获(JsonMappingException e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
返回null;
}
但是,这会给出错误未知类型T
。如何编写此函数以返回任何POJO?试试这个,可能会有用
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;
}
publicstatict-toPOJO(字符串json,类类型){
试一试{
返回JSON_MAPPER.readValue(JSON,类型);
}捕获(JSONParsee异常){
e、 printStackTrace();
}捕获(JsonMappingException e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
返回null;
}
如果有任何问题,请告诉我。是的,这将删除编译错误,但不知何故thw函数无法正常工作。其他异常发生在JSON\u MAPPER.readValue(JSON,type)