用解析Json字符串时候遇到的一个坑

记录以下今天下午遇到的一个坑,一下午时间全花在这个问题上了。。。

在用Jedis从redis中获取到Json字符串后要将它反序列化为对象。结果抛出了异常。第一个怀疑是这个Json字符串是不是格式有问题,我将这个Json字符串在控制台打印出来放到格式化的网站上,结果没问题。

打印出来的字符串如下:
在这里插入图片描述
又怀疑是不是fastJson有bug,换成Jackson去解析,还是不行。。。
经过无数次的debug,突然发现了一个问题:
在这里插入图片描述
这字符串首尾多了一对引号
用substring将首尾引号去掉后再次启动,还是解析不了。
这时候我灵光一闪,突然想到,我们平时在字符串中的

\"

在控制台上只会打印出"
而现在我的控制台能打印出\"
这说明什么???说明\"前面还有\\啊!!!
于是我再次将字符串中的\\全部替换为空字符串,这回终于成功了。
撒花

总结
1.将首尾的"去掉
2.用replace将\\替换为空串

猜你喜欢

转载自blog.csdn.net/czx2018/article/details/87926647