当前位置: 首页 > news >正文

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

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

        控制类方法报错位置

        报错信息

1. 原因

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

2. 解决

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

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

        

        转换成功~

相关文章:

  • HTTP(超文本传输协议)基础
  • 从kafka和zookeeper中获取生产和消费偏移量
  • 手机也可以更换任意IP地址吗?
  • 【FasAPI】使用FastAPI来实现一个基于RBAC(基于角色的访问控制)的用户权限控制系统
  • Mysql之索引优化
  • 如意与葫芦:解读八卦福·门牌中的吉祥元素
  • K8s Calico替换为Cilium,以及安装Cilium过程(鲁莽版)
  • 嵌入式项目:STM32平衡车详解 (基础知识篇) (基于STM32F103C8T6)
  • Pytest-allure如何在测试完成后自动生成完整报告?
  • CVE-2024-46101
  • 本地服务器和云服务器区别在哪里
  • MobaXterm基本使用 -- 服务器状态、批量操作、显示/切换中文字体、修复zsh按键失灵
  • Rust 函数
  • 【JAVA高级】如何使用Redis加锁和解锁(一)、Lua脚本执行原理及流程
  • cMake学习笔记(初级使用)
  • C++学习:list模拟实现
  • 《中国工程科学》
  • 探索EasyCVR视频融合平台:在视频编解码与转码领域的灵活性优势
  • 【IOS】申请开发者账号(公司)
  • (已解决)torch.load的时候发生错误ModuleNotFoundError: No module named ‘models‘
  • 云南多地突查公职人员违规饮酒:公安局门口开展酒精吹气测试
  • 巴基斯坦首都及邻近城市听到巨大爆炸声
  • 三大猪企4月生猪销量同比均增长,销售均价同比小幅下降
  • 数理+AI+工程,上海交大将开首届“笛卡尔班”招生约20名
  • 越怕出错越会出错,“墨菲定律”的魔咒该怎么破?
  • 重庆荣昌机关食堂五一期间受热捧:肉类总消耗2万斤,单日吃卤鹅800只