{\"events\":[{\"type\":0,\"data\":{},\"timestamp\":1675991917151},{\"type\":1,\"data\":{},\"timestamp\":1675991917175},{\"type\":4,\"data\":{\"href\":\"\",\"width\":414,\"height\":725},\"timestamp\":1675991917175}]}

不知道你们有没有遇到过,明明是如上所示,加了一层转义的json字符串。在代码中通过JSON.parse()进行转换,发现如下图所示报错了。

 但是。通过浏览器的F12,在控制台自行转义,发现是成功的。

 其实主要原因是单引号和双引号引起的问题。在单引号中。如果转义的字符串进行了赋值,那么上面一层代码会多了一层的转义

 如上图所示,有2个反斜杆。

这时。我们要在json字符串前后手动加上双引号,然后在进行JSON.parse()的转换即可

JSON.parse(JSON.parse('"'+这里放字符串json的参数+'"'))

这里加2个JSON.parse()是因为,第一次转换的时候还是个字符串。再多转换一次就可以得到json对象啦

更多推荐