在现在的开发中, 越来越离不开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;
}
记录一下, 你动手看一下吧!!!!
发表评论
沙发空缺中,还不快抢~