大佬教程收集整理的这篇文章主要介绍了Jackson 泛型序列化,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.objectMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.Annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Description 通用JSON序列化
* @date Aug 16, 2021
* @Version 1.0
*/
@Component
public class GenericAndJson {
private static ObjectMapper mapper;
/**
* 注入mapper
* @param mapper
*/
@Autowired
public void setMapper(ObjectMapper mapper) {
GenericAndJson.mapper = mapper;
}
/**
* Object转JSON
* @param t
* @param <T>
* @return
*/
public static <T> String objectToJson(T t) {
try {
return GenericAndJson.mapper.writeValueAsString(t);
} catch (JsonProcessingException E) {
e.printStackTrace();
}
}
/**
* JSON转Object
* @param str
* @param tClass
* @param <T>
* @return
*/
public static <T> T jsonToObject(String str, TypeReference<T> tr) {
if (StringUtils.isEmpty(str)) {
return null;
}
try {
return GenericAndJson.mapper.readValue(str, tr);
} catch (JsonProcessingException E) {
e.printStackTrace();
}
}
/**
* JSON转List
* @param str
* @param <T>
* @return
*/
public static <T> List<T> jsontToList(String str) {
if (StringUtils.isEmpty(str)) {
return null;
}
try {
List<T> list = GenericAndJson.mapper.readValue(str, new TypeReference<List<T>>() {
});
return list;
} catch (JsonProcessingException E) {
e.printStackTrace();
}
}
/**
* JSON转List
* @param str
* @param tTypeReference
* @param <T>
* @return
*/
public static <T> T jsonToList(String str, TypeReference<T> tr) {
if (StringUtils.isEmpty(str)) {
return null;
}
try {
T t = GenericAndJson.mapper.readValue(str, tr);
return t;
} catch (JsonProcessingException E) {
e.printStackTrace();
}
}
}
// JSON转List
List<Spec> specs = GenericAndJson.jsonToList(this.specs, new TypeReference<List<Spec>>() {});
// Object转JSON
String specs = GenericAndJson.objectToJson(specs);
以上是大佬教程为你收集整理的Jackson 泛型序列化全部内容,希望文章能够帮你解决Jackson 泛型序列化所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。