亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

jquery eval解析JSON中的注意點介紹

2024-04-27 15:03:56
字體:
來源:轉載
供稿:網友

在JS中將JSON的字符串解析成JSON數據格式,一般有兩種方式:使用eval()函數、使用Function對象來進行返回解析,下面有個示例

在JS中將JSON的字符串解析成JSON數據格式,一般有兩種方式: 1.一種為使用eval()函數。 2. 使用Function對象來進行返回解析。 使用eval函數來解析,并且使用jquery的each方法來遍歷 用jquery解析JSON數據的方法,作為jquery異步請求的傳輸對象,jquery請求后返回的結果是json對象,這里考慮的都是服務器返回JSON形式的字符串的形式,對于利用JSONObject等插件封裝的JSON對象,與此亦是大同小異,這里不再做說明。 這里首先給出JSON字符串集,字符串集如下: 代碼如下:

var data=" { root: [ {name:'1',value:'0'}, {name:'6101',value:'北京市'}, {name:'6102',value:'天津市'}, {name:'6103',value:'上海市'}, {name:'6104',value:'重慶市'}, {name:'6105',value:'渭南市'}, {name:'6106',value:'延安市'}, {name:'6107',value:'漢中市'}, {name:'6108',value:'榆林市'}, {name:'6109',value:'安康市'}, {name:'6110',value:'商洛市'} ] }";  這里以jquery異步獲取的數據類型——json對象和字符串為依據,分別介紹兩種方式獲取到的結果處理方式。 1.對于服務器返回的JSON字符串,如果jquery異步請求沒做類型說明,或者以字符串方式接受,那么需要做一次對象化處理,方式不是太麻煩,就是將該字符串放于eval()中執行一次。這種方式也適合以普通javascipt方式獲取json對象,以下舉例說明: var dataObj=eval("("+data+")");//轉換為json對象 為什么要 eval這里要添加 “("("+data+")");//”呢? 原因在于:eval本身的問題。 由于json是以”{}”的方式來開始以及結束的,在JS中,它會被當成一個語句塊來處理,所以必須強制性的將它轉換成一種表達式。 加上圓括號的目的是迫使eval函數在處理Javascript代碼的時候強制將括號內的表達式(exPRession)轉化為對象,而不是作為語句(statement)來執行。舉一個例子,例如對象字面量{},如若不加外層的括號,那么eval會將大括號識別為JavaScript代碼塊的開始和結束標記,那么{}將會被認為是執行了一句空語句。所以下面兩個執行結果是不同的: 

alert(eval("{}"); // return undefined alert(eval("({})");// return object[Object] 對于這種寫法,在JS中,可以到處看到。 如: (function()) {}(); 做閉包操作時等。 -------------------------------------------------------------------------------- 

alert(dataObj.root.length);//輸出root的子對象數量 $.each(dataObj.root,fucntion(idx,item){ if(idx==0){ return true; } //輸出每個root子對象的名稱和值 alert("name:"+item.name+",value:"+item.value); }) 注:對于一般的js生成json對象,只需要將$.each()方法替換為for語句即可,其他不變。 2.對于服務器返回的JSON字符串,如果jquery異步請求將type(一般為這個配置屬性)設為“json”,或者利用$.getJSON()方法獲得服務器返回,那么就不需要eval()方法了,因為這時候得到的結果已經是json對象了,只需直接調用該對象即可,這里以$.getJSON方法為例說明數據處理方法: 
$.getJSON("http://www.phpzixue.cn/",{param:"gaoyusi"},function(data){ //此處返回的data已經是json對象 //以下其他操作同第一種情況 $.each(data.root,function(idx,item){ if(idx==0){ return true;//同countinue,返回false同break } alert("name:"+item.name+",value:"+item.value); }); }); 

這里特別需要注意的是方式1中的eval()方法是動態執行其中字符串(可能是js腳本)的,這樣很容易會造成系統的安全問題。所以可以采用一些規避了eval()的第三方客戶端腳本庫,比如JSON in JavaScript就提供了一個不超過3k的腳本庫。 第二種解析方式就是使用Function對象來完成,它的典型應用就是在JQUERY中的Ajax方法下的success等對于返回數據data的解析 

var json='{"name":"CJ","age":18}'; data =(new Function("","return "+json))(); 此時的data就是一個會解析成一個 json對象了.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧亚中文在线| 亚洲aⅴ男人的天堂在线观看| 亚洲女同精品视频| 992tv在线成人免费观看| 久久国产精品首页| 亚洲欧洲美洲在线综合| 欧美特级www| 亚洲成**性毛茸茸| 欧美亚洲视频在线观看| 欧美日韩精品在线| 亚洲精品国产美女| 亚洲国产免费av| 日韩av综合网| 欧美精品九九久久| 欧美性视频精品| 国产丝袜一区视频在线观看| 国模叶桐国产精品一区| 中文字幕亚洲第一| 国产亚洲欧洲高清一区| 亚洲色图美腿丝袜| 日av在线播放中文不卡| 亚洲无线码在线一区观看| 菠萝蜜影院一区二区免费| 国产日韩欧美中文在线播放| 日韩男女性生活视频| 亚洲精品久久久久久久久久久久久| 成人女保姆的销魂服务| 欧美精品亚州精品| 热久久视久久精品18亚洲精品| 81精品国产乱码久久久久久| 欧洲永久精品大片ww免费漫画| 国产精品27p| 日本不卡免费高清视频| 日韩有码片在线观看| 国产精品一区二区av影院萌芽| 91福利视频网| 在线观看国产精品91| 亚洲欧洲成视频免费观看| 国产精品美女免费视频| 国产午夜精品理论片a级探花| 夜夜躁日日躁狠狠久久88av| 亚洲精品一区二区久| 国内免费精品永久在线视频| 亚洲欧美日韩直播| 亚洲国产精品yw在线观看| 亚洲国产日韩欧美在线99| 亚洲综合中文字幕在线观看| 欧美限制级电影在线观看| 国产不卡视频在线| 欧美制服第一页| 亚洲国产精品va在线看黑人动漫| 成人国产亚洲精品a区天堂华泰| 久久久久亚洲精品| 欧美亚洲日本网站| 亚洲高清免费观看高清完整版| 欧美性猛交xxxx乱大交蜜桃| 亚洲激情 国产| 亚洲欧美日韩天堂一区二区| 91免费在线视频网站| 久久影视电视剧免费网站清宫辞电视| 久久精品99国产精品酒店日本| 亚洲黄色av网站| 亚洲激情视频在线播放| 久久久久久尹人网香蕉| 国产精品一区av| 中文字幕一区日韩电影| 久久久久一本一区二区青青蜜月| 狠狠躁夜夜躁人人爽超碰91| 日韩电影中文字幕在线观看| 一区二区三区四区精品| 92裸体在线视频网站| 成人激情视频免费在线| 亚洲欧美日韩中文在线| 夜夜躁日日躁狠狠久久88av| 久久国产精品网站| 久久影视电视剧免费网站清宫辞电视| 久久综合国产精品台湾中文娱乐网| 日韩一级裸体免费视频| 亚洲精品国产suv| 国产成人久久久| 久久久久久久av| 欧美巨乳在线观看| 欧美激情18p| 在线日韩欧美视频| 国产噜噜噜噜久久久久久久久| 亚洲一区国产精品| 久久国产精品久久久久久| 国产精品69av| 亚洲香蕉av在线一区二区三区| 亚洲精品99久久久久| 欧美精品手机在线| 另类专区欧美制服同性| 欧美福利在线观看| 色婷婷成人综合| 一区二区亚洲欧洲国产日韩| 乱亲女秽乱长久久久| 欧美在线视频网站| 精品视频在线观看日韩| 亚洲综合社区网| 亚洲人成自拍网站| 欧美黄色小视频| 国产一区二区三区在线视频| 成人免费视频97| 成人激情黄色网| 日韩在线欧美在线| 欧美电影第一页| 色婷婷综合成人| 亚洲区bt下载| 国产精品丝袜高跟| 国产精品夜间视频香蕉| 午夜精品久久久久久久99黑人| 久久国产视频网站| 日本不卡视频在线播放| 成人妇女免费播放久久久| 一本色道久久88综合日韩精品| 欧美国产日本在线| 成人妇女免费播放久久久| 色狠狠av一区二区三区香蕉蜜桃| 亚洲电影免费观看高清| 成人欧美一区二区三区在线| 国产日韩在线亚洲字幕中文| 日韩欧美大尺度| 日韩av在线影院| 热门国产精品亚洲第一区在线| 美女国内精品自产拍在线播放| 国产亚洲欧洲黄色| 日韩在线视频免费观看高清中文| 亚洲精品久久久久久久久久久| 欧美丰满老妇厨房牲生活| 色午夜这里只有精品| 国产精品美女无圣光视频| 亚洲视频一区二区| 精品国偷自产在线| 欧美成人精品一区二区三区| 亚洲精品一区在线观看香蕉| 亚洲女人天堂视频| 亚洲国产精品人人爽夜夜爽| 91极品女神在线| 九九热这里只有精品免费看| 亚洲精品一区在线观看香蕉| 国产精品专区一| 国产91精品最新在线播放| 久久天天躁夜夜躁狠狠躁2022| 97在线精品国自产拍中文| 国产精品视频1区| 国产色综合天天综合网| 91精品国产91久久久久久| 伊人伊成久久人综合网小说| 一区二区三区回区在观看免费视频| 久久综合伊人77777尤物| 久久69精品久久久久久久电影好| 精品女同一区二区三区在线播放| 欧美成人一区在线| 欧美激情日韩图片| 亚洲国产精品免费| 永久免费看mv网站入口亚洲| 国产成人精品在线播放| 欧美综合在线第二页| 亚洲国产一区自拍| 日韩成人av网址| 国产男女猛烈无遮挡91| 91久久精品日日躁夜夜躁国产| 久久91亚洲精品中文字幕奶水| 亚洲在线观看视频网站|