-
Notifications
You must be signed in to change notification settings - Fork 6.5k
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fastjson 1.2.22到1.2.24,反序列化的对象中含有Throwable类型的属性时,报syntax error #1036
Comments
简单测试了下,貌似1.2.7版本的fastjson是没有这个问题的,所以猜测是后续版本的更新暴露了这个bug,谢谢。 |
你测试的jdk 版本多少? 在1.7以下版本出现的么? |
我在1.7以上的jdk没有重现问题,本机上没有装1.7以下的jdk没法重现。 |
不好意思,之前测试 |
我的jdk 是 1.8的,不过貌似和jdk没有关系;这个bug 在fastjson 1.2.7 是没有的。 |
请问什么时候有修复版本? |
bug fixed for issue 1036 (DefaultFieldDeserializer).
什么都没有改,升级到1.2.28版本,执行上面的case,又开始报下面这个错误, |
增加了这个, System.setProperty("fastjson.parser.autoTypeSupport", "true"); 还是报之前的历史错误: |
如题,如果参与序列化的对象属性中包含了Throwable类型的属性时,在反序列化时,则会转换错误。
fastjson版本:从1.2.22到1.2.24版本均试过,均存在此类问题。
===================================================
测试代码case如下:
public class DefaultJsonSerializer {
}
//****************** 测试代码 *************************
public class Result {
private T data;
}
//************** case ***************
public class ExceptionTest {
}
//**************** 报错如下 ****************
com.alibaba.fastjson.JSONException: syntax error
at com.alibaba.fastjson.parser.deserializer.ThrowableDeserializer.deserialze(ThrowableDeserializer.java:36)
at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:530)
at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:187)
at com.alibaba.fastjson.parser.deserializer.DefaultFieldDeserializer.parseField(DefaultFieldDeserializer.java:62)
at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:547)
at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:187)
at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:183)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:355)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1312)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1278)
at com.alibaba.fastjson.JSON.parse(JSON.java:178)
at com.alibaba.fastjson.JSON.parse(JSON.java:162)
at tesla.client.test.json.DefaultJsonSerializer.deserialize(DefaultJsonSerializer.java:45)
at tesla.client.test.json.ExceptionTest.main(ExceptionTest.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
//************ 分割线 ***************
请@wenshao 等其他fastjson的作者伙伴们帮忙看看,谢谢。
The text was updated successfully, but these errors were encountered: