| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | package com.xxl.job.admin.core.util;import com.fasterxml.jackson.core.JsonGenerationException;import com.fasterxml.jackson.core.JsonParseException;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.JsonMappingException;import com.fasterxml.jackson.databind.ObjectMapper;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.IOException;/** * Jackson util *  * 1、obj need private and set/get; * 2、do not support inner class; *  * @author xuxueli 2015-9-25 18:02:56 */public class JacksonUtil {	private static Logger logger = LoggerFactory.getLogger(JacksonUtil.class);    private final static ObjectMapper objectMapper = new ObjectMapper();    public static ObjectMapper getInstance() {        return objectMapper;    }    /**     * bean、array、List、Map --> json     *      * @param obj     * @return json string     * @throws Exception     */    public static String writeValueAsString(Object obj) {    	try {			return getInstance().writeValueAsString(obj);		} catch (JsonGenerationException e) {			logger.error(e.getMessage(), e);		} catch (JsonMappingException e) {			logger.error(e.getMessage(), e);		} catch (IOException e) {			logger.error(e.getMessage(), e);		}        return null;    }    /**     * string --> bean、Map、List(array)     *      * @param jsonStr     * @param clazz     * @return obj     * @throws Exception     */    public static <T> T readValue(String jsonStr, Class<T> clazz) {    	try {			return getInstance().readValue(jsonStr, clazz);		} catch (JsonParseException e) {			logger.error(e.getMessage(), e);		} catch (JsonMappingException e) {			logger.error(e.getMessage(), e);		} catch (IOException e) {			logger.error(e.getMessage(), e);		}    	return null;    }	/**	 * string --> List<Bean>...	 *	 * @param jsonStr	 * @param parametrized	 * @param parameterClasses	 * @param <T>	 * @return	 */	public static <T> T readValue(String jsonStr, Class<?> parametrized, Class<?>... parameterClasses) {		try {			JavaType javaType = getInstance().getTypeFactory().constructParametricType(parametrized, parameterClasses);			return getInstance().readValue(jsonStr, javaType);		} catch (JsonParseException e) {			logger.error(e.getMessage(), e);		} catch (JsonMappingException e) {			logger.error(e.getMessage(), e);		} catch (IOException e) {			logger.error(e.getMessage(), e);		}		return null;	}}
 |