【小bug】使用 RestTemplate 工具从 JSON 数据反序列化为 Java 对象时报类型转换异常

起因:今天编写一个请求时需要通过RestTemplate调用外部接口,获取一些信息,但是在获取了外部接口响应内容后,使用强制转换发现报了类型转换异常。之前也遇到过,但是没记录下来,今天又查了一遍......干脆记录一下。

控制类方法报错位置

报错信息

1. 原因

在使用 RestTemplate 从 JSON 数据反序列化时,默认会将 JSON 数据转换为 LinkedHashMap。而在我的代码 result.get("obj") 的实际数据类型就是LinkedHashMap。

2. 解决

ObjectMapper是Jackson提供的一个类,用于将json数据转换为java对象。

java 复制代码
    ObjectMapper objectMapper = new ObjectMapper();
    //                                            需要转换的内容     目标类
    Resfood resfood = objectMapper.convertValue(result.get("obj"), Resfood.class);

转换成功~

相关推荐
学长毕设10 小时前
基于SpringBoot的景点管理系统-附源码
java·spring boot·后端
sxlishaobin11 小时前
Maven Setting详解
java·学习·maven
知守观11 小时前
一个方法两个触发口:反编译 XXL-Job 后,我看清了 inner/job 子包的裸奔现状
java·spring boot·微服务
用户31268748772011 小时前
CompletableFuture 链式编排:异步编程的优雅解法
java
瑞雪兆丰年兮11 小时前
JavaWeb-day14-SpringBootWeb原理篇
java·开发语言·spring boot·spring·bean·mybatis·javaweb
神仙别闹12 小时前
基于 Java GUI 贪心策略直接搜索算法和极大极小博弈树算法的智能人机博弈五子棋游戏
java·毕业设计·gui·贪心策略·极大极小博弈树
Flynn Liang13 小时前
RAG 评估体系:黄金集、检索指标与 LLM-as-Judge 落地
java·langchain·rag·评估·langchain4j·检索指标
SimonKing14 小时前
Workbuddy太占C盘空间了,写个迁移工具迁走10G的数据
java·后端·程序员
Hvitur14 小时前
Java - Lambda
java·开发语言·python
apcipot_rain19 小时前
C++转Java日记(06)
java·开发语言