解决com.alibaba.fastjson.JSONException: autoType is not support 异常处理

Posted hongshu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决com.alibaba.fastjson.JSONException: autoType is not support 异常处理相关的知识,希望对你有一定的参考价值。

最近在使用spring-data-redis时,使用fastjson的序列化方式

GenericFastJsonRedisSerializer

可以正常序列化,但在反序列化时发生了如下异常com.alibaba.fastjson.JSONException: autoType is not support. com.hongshu.groovy.dto.Account。

 

仔细阅读了fastjson.ParserConfig源码,发现在1078行发生了异常

因为在GenericFastJsonRedisSerializer中,如下所示,把autoTypeSupport设置为true,

所以导致异常产生的原因是因为在fastjson在反序列化时,build JavaBeanInfo时。对是否有默认的构造方法做了检查。看到原因后,直接去自己的Domain中去查看,果然是没有默认的构造的方法。

 

总结:在使用fastjson类序列化时,尤其是redis这个序列的支持,在类中要加保证一默认的构造方法,否则在进行反序列化时,fastjosn根据typeName进行反序列化,会发生该异常

以上是关于解决com.alibaba.fastjson.JSONException: autoType is not support 异常处理的主要内容,如果未能解决你的问题,请参考以下文章

vs2008解决方案资源管理器不显示解决方案

什么是 沙盒解决方案

解决PowerShell乱码问题

如何解决解决方案中现有项目的c#CS0006错误

关于问题解决与事件解决的思考

「解决方案架构」解决方案架构概述