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; } }