jackson工具类使用
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
public class JsonUtil {
private static ObjectMapper simpleMapper = new ObjectMapper();
private static ObjectMapper fullMapper = new ObjectMapper();
static {
simpleMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
simpleMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,ObjectMapper.DefaultTyping.JAVA_LANG_OBJECT);
fullMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
fullMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance,ObjectMapper.DefaultTyping.EVERYTHING);
}
public static String toJsonString(Object obj) throws JsonProcessingException {
return simpleMapper.writeValueAsString(obj);
}
public static String toJsonStringWithProperty(Object obj) throws JsonProcessingException {
return fullMapper.writeValueAsString(obj);
}
public static <T> T fromJsonString(String jsonStr, Class<T> type) throws JsonProcessingException {
return simpleMapper.readValue(jsonStr, type);
}
public static <T> T fromJsonStringWithProperty(String jsonStr, Class<T> type) throws JsonProcessingException {
return fullMapper.readValue(jsonStr, type);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律