亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2016年05月19日 10:01:44   作者:yanhui_wei  
這篇文章主要介紹了javascript中JSON.parse()與eval()解析json的區(qū)別,詳細(xì)描述了json格式數(shù)據(jù)的操作技巧,并結(jié)合實例形式對比分析了使用JSON.parse()與eval()解析json的區(qū)別,需要的朋友可以參考下

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

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

基本格式:

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

調(diào)用方法jsonData.data1,jsonData.data2

很多json數(shù)據(jù)存入數(shù)組

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

調(diào)用方法jsonData[0].name,jsonData[1].sex

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

json的的解析方法

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

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

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

二者的區(qū)別如下:

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

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

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

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

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript中json操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)

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

相關(guān)文章

  • javascript工廠模式和構(gòu)造函數(shù)模式創(chuàng)建對象方法解析

    javascript工廠模式和構(gòu)造函數(shù)模式創(chuàng)建對象方法解析

    本文主要對javascript工廠模式和構(gòu)造函數(shù)模式創(chuàng)建對象方法進(jìn)行解析,具有一定的參考價值,下面跟著小編一起來看下吧
    2016-12-12
  • 基于JavaScript的數(shù)據(jù)結(jié)構(gòu)隊列動畫實現(xiàn)示例解析

    基于JavaScript的數(shù)據(jù)結(jié)構(gòu)隊列動畫實現(xiàn)示例解析

    這篇文章主要介紹了基于JavaScript的數(shù)據(jù)結(jié)構(gòu)隊列動畫實現(xiàn)示例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • JavaScript中的isXX系列是否繼續(xù)使用的分析

    JavaScript中的isXX系列是否繼續(xù)使用的分析

    我們很容易被漂亮的代碼吸引,也不知不覺的在自己的代碼庫中加入這些。卻沒有冷靜的想過它們的優(yōu)劣。這不,我就收集了一系列形如 “是否為……?” 的判斷的boolean函數(shù)。
    2011-04-04
  • JavaScript事件循環(huán)剖析宏任務(wù)與微任務(wù)

    JavaScript事件循環(huán)剖析宏任務(wù)與微任務(wù)

    這篇文章主要為大家介紹了JavaScript事件循環(huán)剖析宏任務(wù)與微任務(wù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • JavaScript中判斷的優(yōu)雅寫法示例

    JavaScript中判斷的優(yōu)雅寫法示例

    判斷語句這個我們不陌生,就是判斷是否滿足指定的條件,如果滿足則執(zhí)行一定的代碼,否則跳過,下面這篇文章主要給大家介紹了關(guān)于JavaScript中判斷的優(yōu)雅寫法,需要的朋友可以參考下
    2021-10-10
  • 小程序webView實現(xiàn)小程序內(nèi)嵌H5頁面的全過程

    小程序webView實現(xiàn)小程序內(nèi)嵌H5頁面的全過程

    在微信小程序中內(nèi)嵌H5頁面是一種常見的需求,因為H5頁面具有靈活性和跨平臺性,可以彌補小程序原生代碼的不足,這篇文章主要給大家介紹了關(guān)于小程序webView實現(xiàn)小程序內(nèi)嵌H5頁面的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • js下利用控制器載入對應(yīng)腳本

    js下利用控制器載入對應(yīng)腳本

    因項目開發(fā)需要,須將每一個方法都獨立成單獨的js文件以便載入、維護(hù),所以,必須需要有一個控制器用于載入這些方法。
    2010-07-07
  • js判斷兩個字符串是否相等的兩種方法

    js判斷兩個字符串是否相等的兩種方法

    昨天用Ajax作驗證,在前臺JS中判斷返回的字符串的值與給定的值是否相等,索性給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于js判斷兩個字符串是否相等的兩種方法,需要的朋友可以參考下
    2023-05-05
  • 微信小程序?qū)崿F(xiàn)文字跑馬燈效果

    微信小程序?qū)崿F(xiàn)文字跑馬燈效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)文字跑馬燈效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 前端實現(xiàn)HTML網(wǎng)頁轉(zhuǎn)PDF并導(dǎo)出

    前端實現(xiàn)HTML網(wǎng)頁轉(zhuǎn)PDF并導(dǎo)出

    這篇文章主要為大家詳細(xì)介紹了前端如何通過html2canvas和jsPDF實現(xiàn)HTML網(wǎng)頁轉(zhuǎn)PDF并導(dǎo)出,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2025-01-01

最新評論