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

转换成功~

相关推荐
我是小疯子6617 分钟前
Python变量赋值陷阱:浅拷贝VS深拷贝
java·服务器·数据库
森叶26 分钟前
Java 比 Python 高性能的原因:重点在高并发方面
java·开发语言·python
二哈喇子!29 分钟前
Eclipse中导入外部jar包
java·eclipse·jar
微露清风33 分钟前
系统性学习C++-第二十二讲-C++11
java·c++·学习
进阶小白猿1 小时前
Java技术八股学习Day20
java·开发语言·学习
gis开发1 小时前
【无标题】
java·前端·javascript
Wpa.wk1 小时前
性能测试 - 搭建线上的性能测试环境参考逻辑图
java·经验分享·测试工具·jmeter·性能测试
代码村新手2 小时前
C++-类和对象(中)
java·开发语言·c++
葵花楹2 小时前
【JAVA课设】【游戏社交系统】
java·开发语言·游戏
kylezhao20192 小时前
C# 文件的输入与输出(I/O)详解
java·算法·c#