引入maven依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.4.2</version>
</dependency>
工具类:
public class JsonUtils {
private static final ObjectMapper objectMapper = new ObjectMapper()
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.setSerializationInclusion(JsonInclude.Include.NON_NULL);//过滤null属性;
/**
* 把对象转成json字符串
*
* @param obj
* @return
*/
public static String convertJsonString(Object obj) {
String str = null;
try {
str = objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return str;
}
/**
* 把json转成对象
*
* @param json
* @param objClass
* @param <T>
* @retunn
*/
public static <T> T convertObj(String json, Class<T> objClass) {
T t = null;
try {
t = objectMapper.readValue(json, objClass);
} catch (IOException e) {
e.printStackTrace();
}
return t;
}
/**
* 把json转成对象,支持复杂类型
*
* @param json
* @param <T>
* @return
* @panam typeReference
*/
public static <T> T convertObj(String json, TypeReference<T> typeReference) {
T t = null;
try {
t = objectMapper.readValue(json, typeReference);
} catch (IOException e) {
e.printStackTrace();
}
return t;
}
}