知识&技术&梦想 知识&技术&梦想

Jackson 处理复杂类型(List,map)

在现在的开发中, 越来越离不开json数据库包, 所有的开发语言也都已经陆续支持该种数据类型. 在java的操作中, 如果针对jackson的数据进行list map的转换呢? 方法如下: 首先是json对象, 转换成list或者map对象. 方法如下
String jsonString="[{'id':'1'},{'id':'2'}]"; 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);
当然还有第二种方法:
String jsonString="[{'id':'1'},{'id':'2'}]"; ObjectMapper mapper = new ObjectMapper(); List<Bean> beanList = mapper.readValue(jsonString, new TypeReference<List<Bean>>() {});
  既然转换成bean , 一样也需要转换成json. 来使用. 方法如下:
 /** *      把JavaBean转换为json字符串 *      (1)普通对象转换:toJson(Student) *      (2)List转换:toJson(List) *      (3)Map转换:toJson(Map) * 我们发现不管什么类型,都可以直接传入这个方法 * * @param object JavaBean对象 * @return json字符串 */ public static String toJSon(Object object) { if (objectMapper == null) { objectMapper = new ObjectMapper(); } try { return objectMapper.writeValueAsString(object); } catch (Exception e) { e.printStackTrace(); } return null; }
记录一下, 你动手看一下吧!!!!  
大纲