JSON.parse和eval的区别

前者只是将json格式的字符串转化成json对象
而后者是将字符串当作是js的代码来执行。

eval的使用范围更广,不过效率不高。

JSON.parse和eval的区别JSON.parse和eval的区别

如果json字符串中有恶意脚本函数,eval函数不仅会将json字符串解析成js对象,还会执行这些恶意函数。

另外使用JSON.parse()解析json字符串更快。

 

服务器传给浏览器的都是json字符串,如果想用在js中使用,必须要先转成js对象,或者有的地方也叫json对象,转换方法有两种:

用JavaScript提供的eval方法,或者JSON.parse()

两种方式都是可以的,JSON语法是JavaScript语法的子集。如果json字符串中没有函数的话,完全推荐使用JSON.parse()函数解析json字符串。

JSON.parse和eval的区别JSON.parse和eval的区别