【小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);

转换成功~

相关推荐
未秃头的程序猿几秒前
一次秒杀把服务打挂了,我用Sentinel规则配置化救了回来
java·后端·spring cloud
Zane19943 分钟前
明明没删字段,反序列化却报错:都是隐式 serialVersionUID 惹的祸
java·后端
0xBADCODE5 分钟前
动态DEX加载+反射+DES硬编码密钥:安卓三层逆向实战
android·java·python·安全·网络安全·逆向·ctf
被摘下的星星9 分钟前
Java 中 .length、.length() 以及 .size() 的区分
java·开发语言
代码不停14 分钟前
子数组问题
java·算法
信誓旦旦的程序猿29 分钟前
【零依赖量化数据实战 #25】北交所技术指标与基本面
java·人工智能·python·股票数据api·股票数据·股票数据api接口·股票api数据接口
Capricorn198831 分钟前
Bug排障实录:Software 3.0 遭遇文献幻觉?知芽 Notebook Skill 底层架构解析
人工智能·笔记·架构·bug·论文笔记
万年咸鱼33 分钟前
Java ArrayList 详解:原理、用法与实战
java·开发语言·windows
霸道流氓气质43 分钟前
Spring AI 结构化输出:JSON Mode 与 BeanOutputConverter
人工智能·spring·json
CoderYanger1 小时前
A.每日一题:3345. 最小可整除数位乘积 I
java·数据结构·程序人生·算法·leetcode·面试·学习方法