最近项目中有经常在数据库中使用JSON存储数据,业务中又需要对存储的数据取出后做业务处理,然后就发现操作取出的json数据时有报错,报错信息是com.alibaba.fastjson.JSONObject cannot be cast to 后面不断的百度后找到了相关的文章,其实自己仔细debug也能发现就是取出的数据是JSONobject而不是对象。我们操作的是对象,所以导致了报错。其实处理只需主动转换就行,代码如下。
List<ProductTurnOrderPerfectQuality> quality1 = productTurnOrderPerfectQualityService.list(Wrappers.<ProductTurnOrderPerfectQuality>lambdaQuery().eq(ProductTurnOrderPerfectQuality::getIsDelete, false));
//需要将数据库中的json数据手动转换成list对象
List<ProductTurnOrderPerfectQuality> quality = JSON.parseArray(JSON.toJSONString(quality1), ProductTurnOrderPerfectQuality.class);
资料链接:https://cloud.tencent.com/developer/article/2143577
mysql 表只能够存储json数据后com.alibaba.fastjson.JSONObject cannot be cast to
最新推荐文章于 2023-08-26 16:14:29 发布
在项目中遇到数据库存储JSON数据,取出后需转换为对象进行业务处理时出现错误。报错原因是尝试将JSON对象转换为非JSON对象。解决方案是使用Fastjson库,通过`JSON.parseArray`方法将JSON字符串转换为指定类型的列表。
摘要由CSDN通过智能技术生成