引入jar
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>
实体类
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class JsonUtils {
private final static ObjectMapper mapper=new ObjectMapper();
//序列化对象为json
public static String toJson(Object object){
try {
return mapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
/***************************************以下为反序列化******************************************/
/*********************反序列化为对象*******************/
public static <T>T toObject(String json,Class<T> tClass){
try {
//JavaType javaType = mapper.getTypeFactory().constructParametricType(List.class, tClass);
return mapper.readValue(json,tClass);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/*********************反序列化为List*******************/
public static <T>List<T> toObjectList(String json,Class<T> tClass){
try {
JavaType javaType = mapper.getTypeFactory().constructParametricType(List.class, tClass);
return mapper.readValue(json,javaType);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/*********************反序列化为Map*******************/
public static <K,V>Map<K,V> toObjectList(String json,Class<K> kClass,Class<V> vClass){
try {
JavaType javaType = mapper.getTypeFactory().constructParametricType(HashMap.class, kClass,vClass);
return mapper.readValue(json,javaType);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}