将json字符串映射为java类型

如果是简单的java bean,直接解析即可。

ObjectMapper mapper = new ObjectMapper();  

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

 

如果是复杂类型,如list,map,可通过以下两种方法:

方法一:

ObjectMapper mapper = new ObjectMapper();  

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

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

List<Bean> lst =  (List<Bean>)mapper.readValue(jsonString, javaType);  

方法二:

ObjectMapper mapper = new ObjectMapper();  

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

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

posted on 2017-06-20 11:16  箫轩  阅读(2043)  评论(0编辑  收藏  举报

导航