Java与JSON相互转换

来源:互联网 发布:adobe软件 mac百度云 编辑:程序博客网 时间:2024/05/22 00:05

2015-08-04 创建

使用到了封装好的工具类:如下

import com.fasterxml.jackson.databind.ObjectMapper;public class JacksonJsonUtil {private static ObjectMapper mapper;/** * 获取ObjectMapper实例 * @param createNew 方式:true,新实例;false,存在的mapper实例 * @return */public static synchronized ObjectMapper getMapperInstance(boolean createNew) {           if (createNew) {               return new ObjectMapper();           } else if (mapper == null) {               mapper = new ObjectMapper();           }           return mapper;       } /** * 将java对象转换成json字符串 * @param obj 准备转换的对象 * @return json字符串 * @throws Exception  */public static String beanToJson(Object obj) throws Exception {try {ObjectMapper objectMapper = getMapperInstance(false);String json =objectMapper.writeValueAsString(obj);return json;} catch (Exception e) {throw new Exception(e.getMessage());}}/** * 将java对象转换成json字符串 * @param obj 准备转换的对象 * @param createNew ObjectMapper实例方式:true,新实例;false,存在的mapper实例 * @return json字符串 * @throws Exception */public static String beanToJson(Object obj,Boolean createNew) throws Exception {try {ObjectMapper objectMapper = getMapperInstance(createNew);String json =objectMapper.writeValueAsString(obj);return json;} catch (Exception e) {throw new Exception(e.getMessage());}}/** * 将json字符串转换成java对象 * @param json 准备转换的json字符串 * @param cls  准备转换的类 * @return  * @throws Exception  */public static Object jsonToBean(String json, Class<?> cls) throws Exception {try {ObjectMapper objectMapper = getMapperInstance(false);Object vo = objectMapper.readValue(json, cls);return vo;} catch (Exception e) {throw new Exception(e.getMessage());}}/** * 将json字符串转换成java对象 * @param json 准备转换的json字符串 * @param cls  准备转换的类 * @param createNew ObjectMapper实例方式:true,新实例;false,存在的mapper实例 * @return * @throws Exception */public static Object jsonToBean(String json, Class<?> cls,Boolean createNew) throws Exception {try {ObjectMapper objectMapper = getMapperInstance(createNew);Object vo = objectMapper.readValue(json, cls);return vo;} catch (Exception e) {throw new Exception(e.getMessage());}}}

也可参见其他博文:Jackson 框架,轻易转换JSON




0 0