字符串转json(JSON.parse报错)

后端返回字符串类型的数组对象格式,js不能使用JSON.parse直接转,否则会报错

问题

字符串格式不是很完美,导致JSON.parse转换失败。JSON.parse()方法对字符串的格式要求极其严格。一点格式错误都不能有,否则就报异常。
在这里插入图片描述
解决方法(此方法可解析不规范格式)

let str = "[{sec: 1, result: '123'}]"
 let arr = eval('(' + val + ')')
 console.log(arr)//[{sec: 1, result: '123'}] 此时已转化为json格式
类型 $parseJSON(需配合jquery使用) JSON.parse eval
方法说明 jquery的方法。将符合标准格式的的JSON字符串转为与之对应的JavaScript对象 只能解析属性名是双引号包裹的字符串对象 可将一个JavaScript代码字符串求值成特定的对象
主要区别 字符串必须用双引号括起来 必须严格遵守json字符串格式;属性名称必须用双引号包裹; 字符串必须用双引号括起来。
使用场景 能用JSON.parse的都可以用这个 json字符串必须严格符合json格式。可以用在后端传递给前端数据格式的使用使用。对数据的严谨性可以 格式不规范的时候,当你不能确认对方的数据格式是不是很严谨的时候

你可能感兴趣的:(json,前端)