项目上遇到,文件异步上传时会把不符合标准的数据放入redis ,然后隔几秒去请求redis里面的数据,但是时不时会出现ConvertException: Unsupported source type: class java.lang.String 的错,一直百思不得其解,认为从redis取出数据后序列化出了问题,但是检查过后序列化没有任何问题
最后经过断点,发现下面这行代码
JSONUtil.toList(JSONUtil.toJsonStr(records), Sample.class)
但是仍然不理解,为什么会出现这种错,最后发现,我上传的excel里面有可能会出现某个字段为空的情况,放到redis里面就是null,这个时候我去取出来然后转换成为Sample的对象就会出现上述的错误
解决办法:
1.不用转变成对象,直接拿到redis的数据放到Page里面返回前端
2.做个空判断