第一步:pom.xml依赖
<!--jackson-->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
第二步:json转化类
package com.mall.util;
import lombok.extern.slf4j.Slf4j;
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.map.annotate.JsonSerialize;
import org.codehaus.jackson.map.ser.impl.SimpleFilterProvider;
import org.codehaus.jackson.type.TypeReference;
@Slf4j
public class JsonMapper {
private static ObjectMapper objectMapper=new ObjectMapper();
static{
//config
objectMapper.disable(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES);
objectMapper.configure(SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS,false);
objectMapper.setFilters(new SimpleFilterProvider().setFailOnUnknownId(false));
objectMapper.setSerializationInclusion(JsonSerialize.Inclusion.NON_EMPTY);
}
//对象转为字符串
public static <T> String obj2String(T src){
if(src==null){
return null;
}
try{
return src instanceof String ? (String)src:objectMapper.writeValueAsString(src);
}catch(Exception e){
log.warn("parse object to String exception,error:{}",e);
return null;
}
}
//字符串转为对象
public static <T> T string2Obj(String src, TypeReference<T> typeReference){
if(src==null||typeReference==null){
return null;
}
try{
return (T)(typeReference.getType().equals(String.class)? src:objectMapper.readValue(src,typeReference));
}catch (Exception e){
log.warn("parse String to Object exception,String:{},TypeReference<T>:{},error:{}",src,typeReference.getType());
return null;
}
}
}
?