Jackson工具类
import java.io.IOException;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
public final class JacksonUtils {
private static final ObjectMapper om = new ObjectMapper();
static {
om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
om.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
om.setSerializationInclusion(JsonInclude.Include.NON_NULL);
}
private JacksonUtils() {
}
/**
* (non-Javadoc)
* @see com.fasterxml.jackson.databind.ObjectMapper#readTree(java.lang.String)
*/
public static JsonNode readTree(String content) throws JsonProcessingException {
return om.readTree(content);
}
/**
* @see com.fasterxml.jackson.databind.ObjectMapper#readValue(byte[], java.lang.Class<T>)
*/
public static <T> T readValue(byte[] src, Class<T> valueType) {
try {
return om.readValue(src, valueType);
} catch (IOException e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* @see com.fasterxml.jackson.databind.ObjectMapper#readValue(java.lang.String, java.lang.Class<T>)
*/
public static <T> T readValue(String content, Class<T> valueType) {
try {
return om.readValue(content, valueType);
} catch (JsonProcessingException e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* @see com.fasterxml.jackson.databind.ObjectMapper#readValue(java.lang.String, TypeReference<T>)
*/
public static <T> T readValue(String content, TypeReference<T> valueTypeRef) {
try {
return om.readValue(content, valueTypeRef);
} catch (JsonProcessingException e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* @see com.fasterxml.jackson.databind.ObjectMapper#writeValueAsString(java.lang.Object)
*/
public static String writeValueAsString(Object value) {
try {
return om.writeValueAsString(value);
} catch (JsonProcessingException e) {
throw new RuntimeException(e.getMessage());
}
}
}
-----------------------------------------------------------------------------------------------------------
薔薇猛虎皆成個性,陽光雨露俱是天恩!
薔薇猛虎皆成個性,陽光雨露俱是天恩!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗