package com.mysteel.black.common.jsonutil; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.ObjectMapper; /** * * 说明:ObjectMapper自定义响应结构 * * @author 胥攀 * @date 2016年6月17日 */ public class JsonUtils { // 定义jackson对象 private static final ObjectMapper MAPPER = new ObjectMapper(); /** * * 说明:将对象转换成json字符串。 * * @param 任意对象 * @return * @author 胥攀 * @time:2016年5月9日 */ public static String objectToJson(Object data) { try { String string = MAPPER.writeValueAsString(data); return string; } catch (JsonProcessingException e) { e.printStackTrace(); } return null; } /** * * 说明:将json结果集转化为对象 * * @param jsonData json数据, clazz 对象中的object类型 * @return * @author 胥攀 * @time:2016年5月9日 */ public static <T> T jsonToPojo(String jsonData, Class<T> beanType) { try { T t = MAPPER.readValue(jsonData, beanType); return t; } catch (Exception e) { e.printStackTrace(); } return null; } /** * * 说明:将json数据转换成pojo对象list * * @param jsonData * @param beanType * @return * @author 胥攀 * @time:2016年5月9日 */ public static <T> List<T> jsonToList(String jsonData, Class<T> beanType) { JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType); try { List<T> list = MAPPER.readValue(jsonData, javaType); return list; } catch (Exception e) { e.printStackTrace(); } return null; } }