1. 程式人生 > >com.alibaba.fastjson.JSONException: unclosed str

com.alibaba.fastjson.JSONException: unclosed str

轉換的工具類我是使用的阿里的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:

www.bejson.com