- 有一个业务需求, 后台传一个商品属性, 但是这个属性, 是一个字符串, 我用
JSON.parse
转换报错了, 如图:
报错截图.png
然后想着有问题找百度嘛, 百度来百度去, 都是说多个什么标点少个标点, 或者从sessionStorage提取中文, 但是我遇到的问题不一样.我们来看看出错代码
image.png
上面这里循环, 然后会有点击事件, 用的模板字符串, 然后在上一篇文章有这个传对象报错的
下面就是从别的页面引入一个方法, 要把这个对象传到那个公共页面
image.png
然后,它会有一个方法, 用JSON.parse()
去转换这个字符串为对象.
image.png
然后我这样传就报错了.我就使劲在找原因, 首先我排除了值没有传到的原因, 其次我打印了是string
类型, 要不然JSON.parse()
也转不了, 那么在原先方法那里用JSON.stringify()
转换咯, 也没用, 总之该试的都试了.万万没想到
image.png
看到没有, JSON.parse()转换, 是要字符串类型, 咋眼一看, 外面是要单引号的, 不是双引号包着的, 如果不信, 我可以给你做个实验
image.png
所以发现了之后, 就要把双引号替换成单引号, 这个时候就要用到正则了replace(/\'/g, '"')
image.png
如果是要单引号转双引号replace(/\"/g, "'");
- 完美解决.
- 如果有帮到你, 记得点个赞呦
网友评论