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

news/2024/9/29 23:42:56/

        起因:今天编写一个请求时需要通过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);

        

        转换成功~


http://www.ppmy.cn/news/1532148.html

相关文章

Tomcat中间件常见漏洞复现

#1.CVE-2017-12615 -----Tomcat put方法任意文件写入漏洞 1.打开靶场 cd vulhub/tomcat/CVE-2017-12615 docker-compose up -d docker ps 2.访问8080端口,来到靶场 3.首页进抓包,Tomcat允许适⽤put⽅法上传任意⽂件类型,但不允许jsp后缀…

@overload实际并无作用

overload 装饰器在 Python 中确实有些特殊。 虽然它看起来像是实现了函数重载,但实际上并没有真正改变函数的行为。 overload 主要用于类型提示和提高代码的可读性。 在 Python 中,函数重载(即根据参数类型或数量调用不同的函数实现&#xf…

一种单目标A*算法设计与实现

一种单目标A*算法设计与实现 作者:吴屏珊 最近在学习简单的单目标A*算法,其中在CSDN上阅读到的一篇博文给了我很大启发,于是在该博文的基础上,笔者记录了一点自己对于A*算法的体会和感悟。原文链接 目录 文章目录 一种单目标A*…

[Web安全 网络安全]-SSRF服务端请求伪造

文章目录: 一:前言 1.定义 2.原理 3.危害 4.产生的原因 5.用途 6.漏洞出现位置 7.防御方法 8.CSRF 和 XSS 和 XXE 和SSRF的么区别 9.相关危险函数 file_get_contents()函数 fsockopen()函数 curl_exec()函数 SoapClient()类 10.环境 10.…

docker安装Portainer CE

docker安装Portainer CE 教程 1、简介 Portainer 是一款开源的容器管理工具,旨在帮助用户更轻松地管理 Docker 环境。无论您是 Docker 新手还是经验丰富的开发人员,Portainer 都提供了直观的用户界面,使您能够方便地创建、部署和监控容器。…

如何判断IP有没有被污染过

IP污染,通常指的是网络中的某个IP地址由于恶意行为、错误配置或其他原因,导致其无法正常解析或连接到目标网站。这种现象会影响用户的网络体验,特别是在访问特定网站或服务时。本文将探讨如何判断一个IP地址是否被污染过,以及如何…

单链表的实现(C语言)

单链表的结构 概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。 链表就好比是一辆火车,有很多的车厢,在链表中,被称为节点。节点由数据加指向下一个节…

跨学科数字教学知识库的建设挑战与解决方案

随着知识经济的不断发展和教育改革的深入,跨学科教学逐渐成为培养具有综合素质和创新能力的关键途径。在这一背景下,搭建跨学科数字教学知识库显得尤为重要。然而,跨学科知识的复杂性和多样性给知识库的建设带来了诸多挑战。本文旨在探讨这些…