com.alibaba.fastjson.JSONObject cannot be cast to xxx

问题描述:通过redis读取的缓存对象用Object去接,因为我们已经知道他具体是什么类型了,所以接来的对象直接转换,报了上述错误。

这里其实我们已经对该实体类完成了序列化与反序列化。

 

public class LoginUser implements  Serializable 
LoginUser loginUser=redisCache.getCacheObject(redisKey);
复制代码
    /**
     * 获得缓存的基本对象。
     *
     * @param key 缓存键值
     * @return 缓存键值对应的数据
     */
    public <T> T getCacheObject(final String key) {
        ValueOperations<String, T> operation = redisTemplate.opsForValue();
        return operation.get(key);
    }
复制代码

但是会报错com.alibaba.fastjson.JSONObject cannot be cast to xxx

 

解决方案:将得到的对象toString,再通过JSON.parseObject转成对应的对象

String string = redisCache.getCacheObject(redisKey).toString();
LoginUser loginUser=JSON.parseObject(string, LoginUser.class);

 

posted @   天启A  阅读(489)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示