Jackson的Json转换
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()); } } }
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!