fastjson版本升级遇到的问题

在将fastjson版本升级后,遇到了两个主要问题:1. 存储对象类型变化导致业务报错,虽然旧版和新版结果一致;2. 某参数的子属性对象类型在新版本中有差异,源于内部重构。这两个问题需要深入分析和适配新版本的改动。
摘要由CSDN通过智能技术生成

fastjson版本升级遇到的问题

问题背景

由于我司的项目部署阿里云上,最近一天收到阿里云的的漏洞提醒!邮件。检查项目后发现,确实存在低版本的fastjson。考虑到项目安全性,项目组决定升级fastjson包。
邮箱反馈

版本

fastjson1.2.44升级至1.2.68

问题

版本升级后,发现原项目中的某些业务报错,跟踪后发现现象如下:

问题1

JSONArray中存储的对象类型发生了变化,在对比两个版本的结果:
1.2.44版本的存储对象的类型为:JSONObject
1.2.68版本的存储对象的类型为:LinkedHashMap
后继续跟踪并测试发现:

 String jsonStr = "{\"test1\":{\"test11\":\"test11\"}," +
                "\"test2\":[{\"test21\":\"test21\",\"test22\":\"test22\"}]}";
                
JSONObject json = JSONObject.parseObject(jsonStr);
JSONArray dataList = json.getJSONArray("test2");
for (Object obj : dataList) {
   
    System.out
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值