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

转换成功~

相关推荐
lionliu051921 分钟前
WebAssembly (Wasm)
java·开发语言·wasm
咸鱼加辣24 分钟前
【java面试题】springboot的生命周期
java·开发语言·spring boot
Billow_lamb26 分钟前
MyBatis Plus 中常用的插件列表
java·mybatis
程序猿DD1 小时前
人工智能如何改变 Anthropic 的工作方式
java·后端
C雨后彩虹1 小时前
任务总执行时长
java·数据结构·算法·华为·面试
桦说编程1 小时前
Guava Forwarding系列类详解——装饰器模式实战
java·后端·设计模式
柒.梧.1 小时前
数据结构:二叉排序树构建与遍历的解析与代码实现
java·开发语言·数据结构
大道之简2 小时前
SpringAI基于内存存储向量
java
Honmaple2 小时前
中国四级城市联动数据,包含港澳台,内含json , sql , python 脚本
python·sql·json