问题描述
- 简要描述您碰到的问题。*
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
- 使用
xxx.xxx
方法 - 输入
...
数据 - 出现
...
错误
//可在此输入示例代码
期待的正确结果
- 对您期望发生的结果进行清晰简洁的描述。*
相关日志输出
- 请复制并粘贴任何相关的日志输出。*
附加信息
- 如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。*
2条答案
按热度按时间ozxc1zmp1#
这样无法解决问题哦,你要提供具体的版本号,同时需要帮忙构造建一个可以简单重现的testcase
exdqitrt2#
@Lctiv 把你给的数据转成json字符串后写的测试案例,没有重现bug。是遗漏了什么吗?或者你的版本不是最新的?
reproduce.zip