js 将json字符串转换成json对象的两种办法,eval和JSON.parse的区别

在前端中我们可能有时遇到后端返回来的数据是一个json字符串:

一般我们会想到用JSON.parse()来将字符串转换成对象,但是前提是后端返回来的json字符串是一个 标准的json格式 才行,如果不是标准的json格式,你用JSON.parse()就会报下面的错误

像哪些不是标准的json呢?例如我下面的这些

    var a = '{"name": "张三", age: 18}';
    var b = "{'name': '张三'}";
    var c = "{'age': 18}"

那么遇到不标准的json格式该怎么办!

这时就要eval()闪亮登场了, eval()能转换不标准的json格式。使用方法是eval("("+data+")"), 如下:

var c = "{'age': 18}";
console.log(eval("("+c+")"))
console.log(JSON.parse(c))

打印的结果:

落魄前端-小陈
0
0
0
评论
浏览
收藏