修复“com.alibaba.fastjson.JSONObject cannot be cast to”报错问题
问题 报错 修复 to Cannot be com Alibaba
2023-06-13 09:14:11 时间
最近都没更新了,来水一篇。
今天发现权限申请系统有一些投诉,然后查了一下系统,发现问题。
发现报错如下:“com.alibaba.fastjson.JSONObject cannot be cast to xxxxxxxxxxxxxx”
查证下来发现是在获取缓存的地方报错,这里我存的是一个 List 对象,但是在获取时没有转为对应的 vo ,导致在获取里面的数据时产生报错,报错提示说 JSONObject 无法解析这个数据
看来 redis 的工具类,发现在存对象的时候,都是使用 fastjson 将其转为字符,取对象的时候再讲其转为对应的实例,应该是这里产生的报错
通过 debug 断点可以看到,这里拿到虽然是 List,但是里面的对象还是一个 JSONObject,并不是我们需要的 vo 类,所有导致了后面的报错。
查到问题根源,我们只要把这里的对象转化为我们的 vo 类就行了,就可以避免报错。
增加代码:
List<StaticDataVo> newStaticDataList = JSON.parseArray(JSON.toJSONString(cacheList), StaticDataVo.class);
再 debug 查看,可以看到 List 里的对象已转化为我们需要的 vo 类了。
相关文章
- 无法安装python3的连续报错-mysql include软链接问题
- 单调队列优化的背包问题[通俗易懂]
- mac升级ventura系统之后electron项目打包报错问题
- 【踩坑实录】datax从pg同步数据到hive数据全为null问题
- feign问题和解决
- 解决Linux中ifconfig和addr查看不到ip问题
- Postgresql在mybatis中报错:操作符不存在:character varying == unknown的问题
- 解决postgreSql 将Varchar类型字段修改为Int类型报错的问题
- 问题解决Oracle的wrap问题(oraclewrap)
- 解决MySQL数据库乱码问题(解决mysql乱码问题)
- Win10计划外KB5004327更新发布 修复多个版本中的报错问题
- 在MacOS中如何解决中文乱码问题(macos中文乱码)
- 解决 Ubuntu 在启动时冻结的问题
- 解决 Redis 安装时遇到的报错问题(redis安装报错)
- Oracle数据库出现乱码报错问题怎么办?(oracle乱码报错)
- 使用SQLServer电子版轻松解决数据存储问题(sqlserver电子版)
- MySQL查询错误解决两表查询问题(mysql两表查询报错)
- 解决Oracle中行转列的方法研究(oracle中行转列问题)
- 如何解决Redis出现的报错问题(如何看redis的报错)
- 解决Oracle数据导出乱码报错问题(oracle乱码导出报错)
- Oracle会话超限如何解决报错问题(oracle会话满了报错)
- 如何解决在jsp页面上导入.xls文件报错问题
- 当jQuery1.7遇上focus方法的问题
- jquery库或JS文件在eclipse下报错问题解决方法
- oracle报错(ORA-00600)问题处理