手机版

解析json的javascript中json.parse()和eval()的区别

时间:2021-10-30 来源:互联网 编辑:宝哥软件园 浏览:

这个例子说明了javascript中json.parse()和eval()的区别。分享给大家参考,如下:

JSON(JavaScript Object notification)是一种轻量级的数据格式,它采用了完全独立于语言的文本格式,是一种理想的数据交换格式。同时,JSON是一种原生的Javascript格式,这意味着JSON数据是用javascript处理的。

基本格式:

varjsonData=' { ' data 1 ' : ' Hello ',' data2':'world!“}”调用方法jsonData.data1、jsonData.data2

许多json数据存储在数组中。

Var JSON数据=[{ '姓名' : '李雷','年龄' :19,'性别' : '男性' },{ '姓名' : '韩梅','年龄' :18,'性别' : '。

一般来说,json相对容易理解和使用,但同时也有很多陷阱,不注意很容易掉入。

json的解析方法。

json有两种解析方法:eval()和JSON.parse(),使用方法如下:

var jsonData=' { ' data 1 ' : ' Hello ',' data2':'world!}';var evalJson=eval('(' jsonData ')');var jsonParseJson=JSON . parse(jsonData);这样,json格式的jsonData字符串就转换成了JSON对象。

它们之间的区别如下:

var值=1;var jsonstr=' { ' data 1 ' : ' hello ',' data2 ' : value }var data 1=eval _ r('(' jsonstr ')');console . log(data 1);//此时的值为2var data 2=JSON . parse(JSON str);console . log(data 2);//报告错误

可以看到控制输出站的结果。第一个eval()已成功执行,第二个报告了一个错误。从上面的例子可以清楚地看到,当eval解析一个字符串时,它将执行字符串中的代码(结果相当糟糕)。与上面的例子一样,因为eval解析了一个json字符串,所以原始值发生了变化。

003010(本网站下载地址://www . JB 51 . net/books/36680 . html)指出:

警告:关于JSON和eval,需要注意的是,在代码中使用eval是非常危险的,尤其是在用于执行第三方的JSON数据(可能包含恶意代码)时,尽量使用JSON.parse()方法来解析字符串本身。这个方法可以捕捉JSON中的语法错误,并允许您传入一个函数来过滤或转换解析结果。如果这种方法被Firfox 3.5、IE8和Safari 4本机支持。大多数javascript类库中包含的JSON解析代码会直接调用原生版本,如果没有原生支持,会调用功能稍弱的非原生版本进行处理。

更多与JavaScript相关的内容,请看本网站主题:《高性能Javascript》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》。

希望本文对JavaScript编程有所帮助。

版权声明:解析json的javascript中json.parse()和eval()的区别是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。