alibaba / alibaba/fastjson2

[BUG]JSONArray反序列化错误

Open
#1,496 5 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
4.4k
Forks
613
Avg merge
1d 22h
Merged PRs (30d)
6

Description

### 问题描述
用Fastjson 2.0.8序列化了一个JSONArray,然后用Fastjson2 2.0.25进行反序列化时报错

### 环境信息
*请填写以下信息:*

- OS信息: [CentOS 8.4.2105 4Core 3.10GHz 16 GB]
- JDK信息: [Openjdk 1.8.0_312]
- 版本信息:[Fastjson2 2.0.25]

### 重现步骤
1. 用Fastjson 2.0.8序列化一个JSONArray到文件
2. 用Fastjson 2.0.8反序列化成功
3. 升级到Fastjson 2.0.25之后反序列化失败

### 期待的正确结果
希望能够跨版本反序列化

### 相关日志输出
java.io.InvalidClassException: com.alibaba.fastjson.JSONArray; local class incompatible: stream classdesc serialVersionUID = -2661077227301049955, local class serialVersionUID = 3642856726642946224
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2005)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1852)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2186)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1669)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:503)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:461)
at FastJsonTest.main(FastJsonTest.java:24)

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure described in FastJsonTest.java at line 24, using data serialized with Fastjson 2.0.8 and deserialized with 2.0.25. Compare the JSONArray serialization compatibility across those versions and verify that the stored data can be deserialized successfully after the change.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.