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

转换成功~

相关推荐
豐儀麟阁贵16 小时前
9.6使用正则表达式
java·开发语言·数据库·mysql
杀死那个蝈坦16 小时前
Docker
java·docker·eclipse·tomcat·hibernate
a31582380616 小时前
Android13隐藏某个App需要关注的源码文件
android·java·framework·launcher3·隐藏app
悟空码字16 小时前
SpringBoot实现消息推送:让服务器学会“主动搭讪”
java·spring boot·后端
蒟蒻小袁16 小时前
Hot100--找到字符串中所有字母异位词
java·算法·leetcode·面试
+VX:Fegn089516 小时前
人力资源管理|基于springboot + vue人力资源管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·课程设计
即随本心0.o16 小时前
SSE服务搭建
java·spring boot
MarkHD16 小时前
车辆TBOX科普 第56次 从模块拼接到可靠交付的实战指南
java·开发语言
灰什么鱼16 小时前
OkHttp + Retrofit2 调用第三方接口完整教程(以nomad为例)
java·spring boot·okhttp·retrofit