为了处理复杂的 JSON 泛型解析任务,你可以创建一个通用的工具类来封装这些操作。这里分别
针对 Jackson 和 Fastjson 提供两个工具类的例子。
1. Jackson 的 JSON 泛型解析工具类
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.type.TypeFactory;
import java.util.List;
import java.util.Map;
public class JacksonJsonUtils {
private static final ObjectMapper MAPPER = new ObjectMapper();
/**
* 将 JSON 字符串转换为指定类型的 Java 对象。
*
* @param json JSON 字符串
* @param clazz 目标 Java 类型
* @param <T> 泛型类型
* @return 转换后的 Java 对象
*/
public static <T> T parseJson(String json, Class<T> clazz) {
try {
return MAPPER.readValue(json, clazz);
} catch (JsonProcessingException e) {
throw new RuntimeException("Failed to parse JSON", e);
}