转换的工具类我是使用的阿里的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: