java对象和json对象互转

在网上找了一大堆 没找到合适的

java 复制代码
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;

import java.io.IOException;
import java.util.List;

@Slf4j
public class JsonUtil {
    public static final ObjectMapper objectMapper = new ObjectMapper();

    static {
        //反序列化时,忽略目标对象没有的属性
        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        //objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
    }

    public static String toJsonString(Object o) {
        try {
            return objectMapper.writeValueAsString(o);
        } catch (Exception e) {
            log.error("JsonProcessingException:", e);
        }
        return "";
    }

    public static <T> T toObject(String s, Class<T> var) {
        try {
            return objectMapper.readValue(s, var);
        } catch (IOException e) {
            log.error("IOException:", e);
        }
        return null;
    }


    public static <T> List<T> toList(String s, Class<T> var) {
        try {
            JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, var);
            return objectMapper.readValue(s, javaType);
        } catch (IOException e) {
            log.error("IOException:", e);
        }
        return null;
    }

}
相关推荐
咕白m6251 天前
基于Java 实现 PPT 到 PDF 的高效转换
java
七夜zippoe1 天前
Java并发编程基石:深入理解JMM(Java内存模型)与Happens-Before规则
java·开发语言·spring·jmm·happens-before
YDS8291 天前
苍穹外卖 —— Spring Task和WebSocket的运用以及订单统一处理、订单的提醒和催单功能的实现
java·spring boot·后端·websocket·spring
速易达网络1 天前
C语言常见推理题
java·c语言·算法
m0_639817151 天前
基于springboot纺织品企业财务管理系统【带源码和文档】
java·服务器·前端
q***31831 天前
Spring Boot(快速上手)
java·spring boot·后端
q***09801 天前
Spring Boot 3.3.4 升级导致 Logback 之前回滚策略配置不兼容问题解决
java·spring boot·logback
爱打球的白师傅1 天前
python机器学习工程化demo(包含训练模型,预测数据,模型列表,模型详情,删除模型)支持线性回归、逻辑回归、决策树、SVC、随机森林等模型
人工智能·python·深度学习·机器学习·flask·逻辑回归·线性回归
MediaTea1 天前
Python 第三方库:TensorFlow(深度学习框架)
开发语言·人工智能·python·深度学习·tensorflow
羊锦磊1 天前
[ 项目开发 1.0 ] 新闻网站的开发流程和注意事项
java·数据库·spring boot·redis·spring·oracle·json