zoukankan      html  css  js  c++  java
  • 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());
    		}	
    	}
    }


  • 相关阅读:
    简述拦截器的工作原理?
    线程安全与非线程安全集合说一下,底层怎么实现的(hashmap,concurrenthashmap)
    表与表之间的关联关系
    手写9x9乘法表,冒泡排序
    主键和外键的区别
    为什么要使用连接池?
    AXI协议中的模棱两可的含义的解释(Cachable和Bufferable)
    ahb时序解析
    amba web
    Register Abstraction(9)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3220101.html
Copyright © 2011-2022 走看看