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());

		}	

	}

}


你可能感兴趣的:(Jackson)