后台返回的字符串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博客
浙公网安备 33010602011771号