fastjson2 [BUG]java.lang.ArrayIndexOutOfBoundsException: 176816

ef1yzkbh  于 2022-10-25  发布在  Java
关注(0)|答案(2)|浏览(292)

问题描述

  • 简要描述您碰到的问题。*

Map<String, Object> waveDataMap = JSONB.parseObject(data, Map.class);转换时报错,数组越界。

环境信息

  • 请填写以下信息:*

  • OS信息: [e.g.:CentOS 8.4.2105 4Core 3.10GHz 16 GB]

  • JDK信息: [e.g.:Openjdk 1.8.0_312]

  • 版本信息:[e.g.:Fastjson2 2.x.x]

重现步骤

  • 如何操作可以重现该问题:*

从数据库获取表一条数据,用MAP<STRING,OBJECT> waveDataMap接受后,通过 byte[] bytes = JSONB.toBytes(waveDataMap);转成byte[],通过socket传送到server端,server端将该byte[]数组反序列化,
Map<String, Object> waveDataMap = JSONB.parseObject(data, Map.class); 发送错误,如果表字段很少可以成功,多了就报错数组越界,SQL语句见附件。
external_master0301.zip

  1. 使用 xxx.xxx 方法
  2. 输入 ... 数据
  3. 出现 ... 错误
//可在此输入示例代码

期待的正确结果

  • 对您期望发生的结果进行清晰简洁的描述。*

相关日志输出

  • 请复制并粘贴任何相关的日志输出。*
附加信息
  • 如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。*

ozxc1zmp

ozxc1zmp1#

这样无法解决问题哦,你要提供具体的版本号,同时需要帮忙构造建一个可以简单重现的testcase

exdqitrt

exdqitrt2#

@Lctiv 把你给的数据转成json字符串后写的测试案例,没有重现bug。是遗漏了什么吗?或者你的版本不是最新的?
reproduce.zip

相关问题