解決com.alibaba.fastjson.JSONException: autoType is not support 異常處理


原文地址:https://blog.csdn.net/wgzhl2008/article/details/82184240

最近在使用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進行反序列化,會發生該異常


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM