首页 > 其他分享 >com.alibaba.fastjson.JSONObject cannot be cast to xxx

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

时间:2024-07-21 19:51:53浏览次数:13  
标签:fastjson 缓存 JSONObject xxx alibaba cannot LoginUser

问题描述:通过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);

 

标签:fastjson,缓存,JSONObject,xxx,alibaba,cannot,LoginUser
From: https://www.cnblogs.com/kun1790051360/p/18314890

相关文章

  • 编解码器无法解码位置 2-3 中的字节:截断的 \UXXXXXXXX 转义 (Python QREADER)
    我正在尝试pythonqreader模块,但每次我尝试运行它时,我都会收到SyntaxError:(unicodeerror)'unicodeescape'codeccan'tDecodebytesinposition2-3:truncated\UXXXXXXXXescapeerror.fromqreaderimportQReaderfromcv2importQRCodeDetector,imreadfrompyz......
  • openFeign调用问题:required a bean of type 'xxx' that could not be found.
    场景:服务B是一个公共的服务,打包成jar后给其他服务使用packagecom.testB.seviceB.remote;//服务B中定义的feign接口@FeignClient(value="service-c",path="/service-c")publicinterfaceServiceBClient{xxxx} 服务A中引用服务B中定义的Feign接口package......
  • FastJson详解
    文章目录一、FastJson介绍二、FastJson序列化API1、序列化Java对象2、序列化List集合3、序列化Map集合三、FashJson反序列化API1、反序列化Java对象2、反序列化List集合3、反序列化Map集合(带泛型)四、SerializerFeature枚举1、默认字段为null的不显示2、格式化五、@JSo......
  • Fastjson的payload收集
    What无第三方依赖收集了网络上的多种payload,方便进行fuzz测试提供了自动替换payload的功能,一次性为所有payload插入rmi地址/dnslogHelp--list:以清单的形式打印,方便作为字典进行fuzz--address:服务器地址(无需rmi://前缀),如11.22.33.44/exp、eval.com/rce--dns:dnslog的地址,不同......
  • 端口被占用如何处理Error: listen EADDRINUSE: address already in use :::xxxx
    启动项目出现Error:listenEADDRINUSE:addressalreadyinuse:::9088yarnrunv1.22.19$nodesrc/index.jsevents.js:377thrower;//Unhandled'error'event^Error:listenEADDRINUSE:addressalreadyinuse:::9088atServer.setupL......
  • Retrofit2 使用FastJson作为Converter.m
    首先创建一个FastJsonRequestBodyConverter类packagecom.rrc.core.net.converter;importcom.alibaba.fastjson.JSON;importjava.io.IOException;importokhttp3.MediaType;importokhttp3.RequestBody;importretrofit2.Converter;/***=========================......
  • 使用JSONObject构建与解析json对象(简易版)
    构建json实例化一个JSONObject对象,而后调用其put()方法,将数据写入。put()方法的第一个参数为key值,必须为String类型,第二个参数为value,可以为boolean、double、int、long、Object、Map以及Collection等。当然,double以及int等类型只是在Java中,写入到json中时,统一都会以Number类......
  • Maven工程下:alibaba fastjson2的各种序列化:java对象转json对象、json对象转java对象
    pom文件导入fastjson2坐标:<dependency><groupId>com.alibaba.fastjson2</groupId><artifactId>fastjson2</artifactId><version>2.0.51</version></dependency>UserVO对象:@Data@AllArgsConstructor......
  • MinGW GCC Boost Serialization 无法定位程序输入点 _ZSt19uncaught_exceptionsv 于动
     在Windows下使用MinGWGCC编译Boost和Demo程序,运行时报错:GCC: gccversion8.1.0(i686-posix-dwarf-rev0,BuiltbyMinGW-W64project)boost:boost1.85.0排查原因是GCC和Boost不匹配,适当降低boost版本后正常。GCC8.1是2018年,Boost1.85.0是2024年,时间差距比较大。......
  • xxx二手交易市场
    进入题目注册账号登陆后点击头像发现可以上传图片上传正常图片bp抓包发现为jpeg类型且base64加密修改为php类型知道文件上传路径蚁剑连接得到flag......