后台返回的字符串json格式中key使用的是单引号  ’   ,导致JSON.parse转换失败。JSON.parse()方法对字符串的格式要求极其严格。一点格式错误都不能有,否则就报异常。

解决方法(此方法可解析不规范格式)

let str = "[{sec: 1, result: '123'}]"

let arr = eval('(' + val + ')');

console.log(arr)

//[{sec: 1, result: '123'}] 此时已转化为json格式

也可以使用 js 的 repalce 方法将的所有的单引号替换为双引号,也可转换成功。

let str1 = str.replace(/'/g,'"');

JSON.parse(str1);

原文地址:(47条消息) 字符串转json(JSON.parse报错)_json.parse解析字符串报错_写代码的小闻同学的博客-CSDN博客