问题描述
直接在JDK环境中运行正常,但是使用 native-maven-plugin 打成 native-image时 反序列化 会出现如下两种错误:
使用 native-maven-plugin 打成 native-image时 反序列化 bean对象报错:
com.alibaba.fastjson2.JSONException: illegal fieldName input 52, offset 8, character 4, line 1, column 8, fastjson-version 2.0.54 {"e":864000000,"m":1736742368812,"o":"2025-01-13 12:26:08.812truerestart"}
at com.alibaba.fastjson2.JSONReaderASCII.readFieldNameHashCode(JSONReaderASCII.java:141)
at com.alibaba.fastjson2.reader.ObjectReader3.readObject(ObjectReader3.java:286)
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:1171)
at com.kevin.test1.Test1Application.test2(Test1Application.java:56)
at com.kevin.test1.Test1Application.main(Test1Application.java:24)
at [email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
反序列化Long类型也报错:
com.alibaba.fastjson2.JSONException: input not end, offset 11, character 9, line 1, column 11, fastjson-version 2.0.54 21972981729871998
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:869)
at com.kevin.test1.Test1Application.test4(Test1Application.java:66)
at com.kevin.test1.Test1Application.main(Test1Application.java:34)
at [email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
回退到Fastjson2 2.0.53 后可以正常反序列化。
test1.zip
环境信息
- OS信息: [e.g.:windows or linux]
- JDK信息: [e.g.:graal native 21]
- 版本信息:[e.g.:Fastjson2 2.0.54]
重现步骤
cd ~/work/workspace/testproject/test1
mvn clean package -Pnative native:compile-no-fork -DskipTests -X
~/work/workspace/testproject/test1/target/test1
期待的正确结果
能正常反序列化
问题描述
直接在JDK环境中运行正常,但是使用 native-maven-plugin 打成 native-image时 反序列化 会出现如下两种错误:
使用 native-maven-plugin 打成 native-image时 反序列化 bean对象报错:
com.alibaba.fastjson2.JSONException: illegal fieldName input 52, offset 8, character 4, line 1, column 8, fastjson-version 2.0.54 {"e":864000000,"m":1736742368812,"o":"2025-01-13 12:26:08.812
truerestart"}at com.alibaba.fastjson2.JSONReaderASCII.readFieldNameHashCode(JSONReaderASCII.java:141)
at com.alibaba.fastjson2.reader.ObjectReader3.readObject(ObjectReader3.java:286)
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:1171)
at com.kevin.test1.Test1Application.test2(Test1Application.java:56)
at com.kevin.test1.Test1Application.main(Test1Application.java:24)
at [email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
反序列化Long类型也报错:
com.alibaba.fastjson2.JSONException: input not end, offset 11, character 9, line 1, column 11, fastjson-version 2.0.54 21972981729871998
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:869)
at com.kevin.test1.Test1Application.test4(Test1Application.java:66)
at com.kevin.test1.Test1Application.main(Test1Application.java:34)
at [email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)
回退到Fastjson2 2.0.53 后可以正常反序列化。
test1.zip
环境信息
重现步骤
cd ~/work/workspace/testproject/test1
mvn clean package -Pnative native:compile-no-fork -DskipTests -X
~/work/workspace/testproject/test1/target/test1
期待的正确结果
能正常反序列化