将json字符串映射为java类型

若是是简单的java bean,直接解析便可。java

ObjectMapper mapper = new ObjectMapper();  json

Bean bean = mapper.readValue(jsonString, Bean.class);app

 

若是是复杂类型,如list,map,可经过如下两种方法:函数

方法一:spa

ObjectMapper mapper = new ObjectMapper();  get

JavaType javaType = mapper.getTypeFactory().constructParametricType(List.class, Bean.class); class

//若是是Map类型  mapper.getTypeFactory().constructParametricType(HashMap.class,String.class, Bean.class);  List

List<Bean> lst =  (List<Bean>)mapper.readValue(jsonString, javaType);  构造函数

方法二:map

ObjectMapper mapper = new ObjectMapper();  

List<Bean> beanList = mapper.readValue(jsonString, new TypeReference<List<Bean>>() {});  

使用方法二时注意,Bean类的构造函数必定要定义空参数的构造函数。

相关文章
相关标签/搜索