com.alibaba.fastjson.JSONException: unclosed str
阿新 • • 發佈:2018-11-29
轉換的工具類我是使用的阿里的com.alibaba.fastjson.JSONArray;
轉自
操作如下:
if (!TextUtils.isEmpty(msg)) { ArrayList<OrderSwMsgEntity> getMealCabinetNumberEntities = null; try { getMealCabinetNumberEntities = JSON.parseObject(msg, new TypeReference<ArrayList<OrderSwMsgEntity>>() { }); } catch (Exception e) { e.printStackTrace(); LogManager.get().getLogger(getClass()).warn("櫃子資訊轉換異常,櫃子msg資訊為" + msg); }
在這一步時,json轉list報了錯,
com.alibaba.fastjson.JSONException: unclosed str
原因是前端傳過來的json資料有問題,沒有通過校驗,通過直接翻譯可以看出
unclosed string(未閉合的字串)
原因是:
當前json字串有誤,沒有正常拼接
修改後可以正常轉換
我線上的問題是什麼呢,msg是傳給後臺的一個list轉成的字串,後臺會在我去要的時候原樣傳回來,但是呢,當資料過大的時候,後臺傳回來的是一個未閉合的字串,導致了異常。至於為什麼會未閉合,好像跟什麼資料傳輸的大小限制有關,等我查了資料再來補充
推薦給大家一個線上json校驗網址,校驗下從前端傳過來的json: