通用函数json到POJO?

时间:2016-01-01 10:10:49

标签: java json generics jackson

我正在使用jackson ObjectMapper

将我的json字符串转换为POJO
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?

1 个答案:

答案 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;
}

如有任何问题,请告诉我。