js解析JSON字符串的三种方式

简单介绍下js解析JSON的几种方式

最常用的的方法就是

JSON.parse()

但是我在面试的时候将面试官接着问我 “还有其他方法来解析JSON吗?”, 我当时一脸黑人问号,心里在想你是故意来刁难我的吧?然后后边也没给面试官好脸色,结果也是一轮面试都没过。 后面也是翻资料才了解下面这两种, 也是真怪自己菜,哈哈哈哈

eval() 函数

var a = '{"b":[1,2],"c":{"test":4},"d":5}';
console.log(eval('(' + a + ')'))

在这里插入图片描述
小提示 : eval中的代码执行时的作用域为当前作用域。它可以访问到函数中的局部变量。永远不要使用eval函数,因为它会执行任意可被执行的代码字符串。

Function

var a = '{"b":[1,2],"c":{"test":4},"d":5}';
new Function('return (' + a + ')')()

在这里插入图片描述
new Function中的代码执行时的作用域为全局作用域,不论它的在哪个地方调用的。所以它访问的是全局变量。它根本无法访问其他函数内的局部变量。因此他的安全性要比eval()好一点。

总结

咱们平常做开发的时候 用JSON.parse() 就可以了,比另外那两种用着也舒服,也不用考虑那么多问题,其他两种做个了解就好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值