package com.*******.****.drp.util;importjava.io.IOException;importorg.codehaus.jackson.JsonGenerationException;importorg.codehaus.jackson.JsonParseException;importorg.codehaus.jackson.JsonParser;importorg.codehaus.jackson.map.DeserializationConfig;importorg.codehaus.jackson.map.JsonMappingException;importorg.codehaus.jackson.map.ObjectMapper;importlombok.extern.slf4j.Slf4j;/*** @Description:
*@author:******| paranoia_zk@yeah.net
* @date :2017年6月8日 上午10:32:04*/@Slf4jpublic classJacksonUtil {private final static ObjectMapper objectMapper = newObjectMapper();static{
objectMapper.configure(JsonParser.Feature.ALLOW_COMMENTS,true);
objectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES,true);
objectMapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES,true);
objectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS,true);
objectMapper.configure(JsonParser.Feature.INTERN_FIELD_NAMES,true);
objectMapper.configure(JsonParser.Feature.CANONICALIZE_FIELD_NAMES,true);
objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES,false);
}public staticString encode(Object obj) {try{returnobjectMapper.writeValueAsString(obj);
}catch(JsonGenerationException e) {
log.error("encode(Object)", e); //$NON-NLS-1$
} catch(JsonMappingException e) {
log.error("encode(Object)", e); //$NON-NLS-1$
} catch(IOException e) {
log.error("encode(Object)", e); //$NON-NLS-1$
}return null;
}/*** 将json string反序列化成对象
*
*@paramjson
*@paramvalueType
*@return
*/
public static T decode(String json, ClassvalueType) {try{returnobjectMapper.readValue(json, valueType);
}catch(JsonParseException e) {
log.error("decode(String, Class)", e);
}catch(JsonMappingException e) {
log.error("decode(String, Class)", e);
}catch(IOException e) {
log.error("decode(String, Class)", e);
}return null;
}
}