- 50
- 0
报错如下:org.springtramework.core.convert.Conversionl-aiLedtxception: failed to convert from type java.Lang.String to type java.Lang.Long to vaLue 1{"beginTime":1638954300246,"currentPage":1,"endTime":1638954900246,"pcursor":H"}1; nested exception is java.lang.NumberFormatException: For input string: "{"beginTime":1638954300246,"currentPage":1,"endTime":1638954900246,"pcursor":"at org.springframework.core.convert.support.Conversionlltils.invokeConverter(ConversionUtils.java:43)at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:203)at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:187)at org.springframework.data.redis.serializer.GenericToStringSerializerSConverter.convert(GenericToStringSerializer.java:106)at org.springframework.data.redis.serializer.GenericToStringSerializer.deserialize(GenericToStringSerializer.java:70)at org.springframework.data.redis.core.Abstractoperations.deserializeValue(AbstractOperations.java:315)at org.springframework.data.redis.core.AbstractOperations$ValueDeserializingRedisCallback.doInRedis(AbstractOperations.java:55)at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:204)at org.springframework.data.redis.core.RedisTemplate.execute(RedisTemplate.java:166)at org.springframework.data.redis.core.Abstractoperations.execute(AbstractOperations.java:88)at org.springframework.data.redis.core.DefaultValueOperations.get(DefaultValueOperations.java:43)at com.czb.coupon.jobHandle.impl.JobHandle.getKsRefundRedisVO(JobHandle.java:439)at com.czb.coupon.jobHandle.impl.JobHandle.refundEvery5Min(JobHandle.java:259)at sun.reflect.GeneratedMethodAccessor2273.invoke(Unknowr) Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at com.xxl.job.core.handler.impl.MethodJobHandler.execute(MethodJobHandler.java:29)at com.xxl.job.core.thread.JobThread.run(JobThread.java:152)Caused by: java.lang.NumberFormatException: For input string: "{"beginTime":1638954300246,"currentPage":1,"endTime":1638954900246,"pcursor":"我是这么设置key的:Object result = redisService.getTemplate().opsForValue().get(KEY);@Overridepublic RedisTemplate<String, Object> getTemplate() { return redisTemplate;}@Autowired@Qualifier("redisTemplate")private RedisTemplate<String, Object> redisTemplate;这样拿value:redisService.getTemplate().opsForValue().set(KEY,"{\"value1\":\"aaa\"}");各位大佬帮忙看看吧
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
无心无忧i 普通会员 1楼
Redis反序列化问题通常是由于以下几个原因导致的:
-
数据格式不匹配:Redis的数据格式与Java反序列化的Java对象不匹配。例如,Redis中的字符串是键值对,而Java中的对象通常有getter和setter方法。
-
键值对中包含的特殊字符:例如,逗号、空格等特殊字符可能会导致反序列化失败。
-
多余的引号:Redis中的字符串是以单引号或双引号组成的,而Java中的对象通常使用双引号。例如,如果字符串中包含一个双引号,那么在Java反序列化时,这个双引号就会被当作字符串的一部分。
-
使用的Java版本不同:Redis和Java的反序列化库可能会有不同的实现,导致问题。
解决Redis反序列化问题的方法包括:
-
检查数据格式:确保Redis的数据格式与Java对象匹配。
-
使用转义字符:在使用特殊字符时,需要使用转义字符。例如,如果字符串中包含一个双引号,那么可以使用反斜杠()来转义这个引号。
-
使用正确的引号:确保所有的引号都是正确的,例如,如果字符串中包含一个单引号,那么应该使用单引号而不是双引号。
-
使用Java的反序列化库:如果以上方法都不能解决问题,那么可能需要使用Java的反序列化库来帮助解决。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

