當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
com.alibaba.fastjson.JSONObject cannot be cast to XXX异常解决
生活随笔
收集整理的這篇文章主要介紹了
com.alibaba.fastjson.JSONObject cannot be cast to XXX异常解决
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
項目開發中遇到過幾次這個問題,所以記錄一下,代碼如下:
1 @PostMapping("/save-files") 2 public void addFiles(@RequestBody List<AddFileRecordRequestDto> fileRecords) 3 { 4 LoginInfo loginInfo=sessionUtils.getLoginInfo(); 5 Assert.notNull(loginInfo,"登錄信息已過期"); 6 Assert.isTrue(!CollectionUtils.isEmpty(fileRecords),"數據不能為空"); 7 fileRecordService.addFileRecord(fileRecords,loginInfo); 8 } Controller 1 public void addFileRecord(List<AddFileRecordRequestDto> requestDtos, LoginInfo loginInfo) { 2 3 } Service然后在進入Service的時候就拋出了以下異常:
1 java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to XXXXXXXX 異常提示解決方法,更換fastJson版本,我之前用的是1.1.27,更改為1.2.49后,不再提示類型轉換錯誤,這時候又報了另外一個錯:autoType is not support,通過查詢可以看到:安全升級包禁用了部分autotype的功能,也就是"@type"這種指定類型的功能會被限制在一定范圍內使用。如果你使用場景中包括了這個功能,https://github.com/alibaba/fastjson/wiki/enable_autotype?這里有一個介紹如何添加白名單或者打開autotype功能。
兩種解決方式:
- 加上JVM啟動參數 ? 1 fastjson.parser.autoTypeAccept= 類// 如果有多個包名前綴,用逗號隔開 View Code
?
- 在代碼中添加配置(我使用的這種) 1 ParserConfig.getGlobalInstance().addAccept("類"); // 如果有多個包名前綴,用逗號隔開 View Code
?
?
轉載于:https://www.cnblogs.com/rolayblog/p/11095476.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的com.alibaba.fastjson.JSONObject cannot be cast to XXX异常解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 捕食者和猎物,MATLAB
- 下一篇: implicit request ?