麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

javascript中JSON.parse()與eval()解析json的區別

2019-11-20 10:00:08
字體:
來源:轉載
供稿:網友

本文實例講述了javascript中JSON.parse()與eval()解析json的區別。分享給大家供大家參考,具體如下:

JSON(JavaScript Object Notation)是一種輕量級的數據格式,采用完全獨立于語言的文本格式,是理想的數據交換格式。同時,JSON是Javascript原生格式,這意味著在javascript中處理JSON數據

基本格式:

varjsonData='{"data1":"Hello,","data2":"world!"}'

調用方法jsonData.data1,jsonData.data2

很多json數據存入數組

var jsonData=[ {"name":"LiLei","age":19,"sex":"male"}, {"name":"HanMei","age":18,"sex":"famale"}]

調用方法jsonData[0].name,jsonData[1].sex

總體而言,json是相對比較容易的理解和使用的,但同時存在很多的陷阱,如果不注意的話很容易掉進去。

json的的解析方法

json的解析方法共有兩種:eval() 和 JSON.parse(),使用方法如下:

var jsonData = '{"data1":"Hello,", "data2":"world!}';var evalJson=eval('('+jsonData+')');var jsonParseJson=JSON.parse(jsonData);

這樣就把jsonData這個json格式的字符串轉換成了JSON對象。

二者的區別如下:

var value = 1;var jsonstr = '{"data1":"hello","data2":++value}';var data1 = eval_r('('+jsonstr+')');console.log(data1);//這時value值為2var data2=JSON.parse(jsonstr);console.log(data2);//報錯

可以看到控制輸出臺的結果,第一個eval()順利執行,第二個報錯了。從上例就可以明顯地看出,eval在解析字符串時,會執行該字符串中的代碼(這樣的后果是相當惡劣的),如上例中,由于用eval解析一個json字符串而造成原先的value的值改變。

《高性能Javascript》(本站下載地址://www.companysz.com/books/36680.html)一書即指出:

警告:關于JSON和eval需要注意的是:在代碼中使用eval是很危險的,特別是用它執行第三方的JSON數據(其中可能包含惡意代碼)時,盡可能使用JSON.parse()方法解析字符串本身。該方法可以捕捉JSON中的語法錯誤,并允許你傳入一個函數,用來過濾或轉換解析結果。如果此方法以備Firfox 3.5 、IE8 及 Safari 4 原生支持。大多數javascript類庫包含的JSON解析代碼會直接調用原生版本,如果沒有原生支持的話,會調用一個略微不那么強大的非原生版本來處理。

更多關于JavaScript相關內容可查看本站專題:《JavaScript中json操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品欧美久久久久一区二区 | av中文字幕免费在线观看 | 毛片视频免费观看 | 亚洲一级电影在线观看 | 97久久精品一区二区三区观看 | 日本不卡二区 | 日本a级一区 | 毛片视频观看 | 欧美福利视频一区二区三区 | 污片在线观看视频 | 国产日韩在线观看视频 | 精品久久久久久久久亚洲 | 国产亚洲高清视频 | 久久精品视频日本 | 看免费黄色大片 | 亚洲精品午夜国产va久久成人 | 免费看一级视频 | 操操操日日日干干干 | 国产在线精品91 | 国产精品视频导航 | 日本一区二区不卡高清 | 欧美人一级淫片a免费播放 久久久久久久久91 国产99久久久久久免费看 | 亚洲精品午夜电影 | 黄色小视频在线免费看 | 中文字幕精品在线播放 | 亚洲一区二区三区精品在线观看 | 成人免费看毛片 | 亚洲综合一区在线观看 | vidz 98hd| 日韩一级片一区二区三区 | 欧美国产一区二区三区 | 国产一区二区三区视频观看 | 欧美日韩国产一区二区三区在线观看 | 久久久久久久一区二区 | 国产精品久久久久久久久久三级 | 精品一区二区在线观看 | 看中国一级毛片 | 在线观看一区二区三区四区 | 国产精品1区 | 国语自产免费精品视频在 | 欧美1 |