一。背景
在使用RedisTemplate过程中,redisTemplate.opsForValue().get(key)方法拿到redis数据库中key对应的value后一直出现类型转换问题,出现 com.fasterxml.jackson.core.JsonParseException: Unrecognized token ‘lisi’: was expecting (JSON String, Number, Array, Object or token ‘null’, ‘true’ or ‘false’)
二。造成原因
1.我一开始手动用命令在redis数据库中set name的值为lisi:
2.然后在代码中想用redisTemplate.opsForValue().get(key)拿到该key="name"的值,但是一直出现上面的错误,redisConfig也都是配置好了的,想了很久没有想明白。于是我决定试试看同样用代码set值,然后在命令行查看,看看格式和我直接用命令set值是否有什么不一样。
3.之后我用代码redisTemplate.opsForValue().set(“name”, “lisi”)设置key的值,然后再用命令查看格式时,我就发现了原因:
原来直接用命令set值得到的格式是:
"lisi"
用代码redisTemplate.opsForValue().set(“name”, “lisi”)来set值得到的格式是:
"\"lisi\""