java Jackson将json字符串转换成List<JavaBean>

public final ObjectMapper mapper = new ObjectMapper(); 
     
public static void main(String[] args) throws Exception{  

    String jsonString = getJsonString(); //getConfig省略

    //List<Config> configList =  (List<Config>)jsonString 
    //上面这样转换是错的,但是编译没有报错,运行时才报错

    JavaType javaType = getCollectionType(ArrayList.class, Config.class); 
    List<Config> configList =  mapper.readValue(jsonString, javaType);   //这里不需要强制转换
}   


/**   
* 获取泛型的Collection Type  
* @param collectionClass 泛型的Collection   
* @param elementClasses 元素类   
* @return JavaType Java类型   
* @since 1.0   
*/   
public static JavaType getCollectionType(Class<?> collectionClass, Class<?>... elementClasses) {   
    return mapper.getTypeFactory().constructParametricType(collectionClass, elementClasses);   
}

注意最后的方法啊

posted @ 2018-03-26 18:05  lgp20151222  阅读(946)  评论(0编辑  收藏  举报