這篇文章給大家分享的是有關(guān)jquery讀取json參數(shù)的示例的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)建站專注于伊川網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供伊川營銷型網(wǎng)站建設(shè),伊川網(wǎng)站制作、伊川網(wǎng)頁設(shè)計、伊川網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造伊川網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供伊川網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
jquery讀取json參數(shù)的方法:1、使用jQuery解析Json數(shù)據(jù)格式,在Ajax請求中設(shè)置參數(shù)【dataType: "json"】;2、使用jQuery解析Json對象,代碼為【data = $.parseJSON string】。
jquery讀取json參數(shù)的方法:
一、jQuery解析Json數(shù)據(jù)格式:
使用這種方法,你必須在Ajax請求中設(shè)置參數(shù):
dataType: "json"
獲取通過回調(diào)函數(shù)返回的數(shù)據(jù)并解析得到我們想要的值,看源碼:
jQuery.ajax({ url: full_url, dataType: "json", success: function(results) { alert(result.name); } });
通常情況下,你可以從后臺返回JSON數(shù)據(jù),前臺就交給jQuery啦。
jquery異步請求將type(一般為這個配置屬性)設(shè)為“json”,或者利用$.getJSON()
方法獲得服務(wù)器返回,那么就不需要eval()
方法了,因為這時候得到的結(jié)果已經(jīng)是json對象了,只需直接調(diào)用該對象即可,這里以$.getJSON
方法為例
例1
代碼如下:
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
$.getJSON("https://www.jb51.net/",{param:"sanic"},function(data){ //此處返回的data已經(jīng)是json對象 //以下其他操作同第一種情況 $.each(data.root,function(idx,item){ if(idx==0){ return true;//同countinue,返回false同break } alert("name:"+item.name+",value:"+item.value); }); });
二、jQuery解析Json對象:
jQuery提供了另一種方法“parseJSON”,這需要一個標(biāo)準(zhǔn)的JSON字符串,并返回生成的JavaScript對象。讓我們來看看語法:
代碼如下:
data = $.parseJSON(string);
看看它是如何運用的到實際開發(fā)中的:
jQuery.ajax({ url: dataURL, success: function(results) { var parsedJson = jQuery.parseJSON(results); alert(parsedJson.name); } });
補充:
jquery解析json數(shù)據(jù)完整實例:
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:'商洛市'} ] }"; //data為字符串類型 則要將字符串類型轉(zhuǎn)換成json數(shù)據(jù)類型 var jsondatas=eval("("+data+")"); $.each(jsondatas.root,function(i,n){ alert("name"+n.name+"value"+n.value); } ) //以下為數(shù)組類型字符串 轉(zhuǎn)換成json 字符串 解析 //數(shù)組形式的json字符串 var jsondata="[{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:'商洛市'}]"; var json=eval(jsondata); $.each(json,function(i,n){ alert(json[i].name); alert(json[i].value);//根據(jù)索引取值 }); //json數(shù)據(jù)字符 不需要轉(zhuǎn)換 var json={"Products":[ {"orderid":"11077","customerid":"RATTC"}, {"orderid":"11078","customerid":"RATT"} ], "Img":[{"id":"12345","url" :"image/1.jpg"} ]}; $.each(json.Products,function(i,n){ alert(n.orderid); })
一般處理文件(Handler.ashx)
if (context.Request.QueryString["method"] != null) { string method = context.Request.QueryString["method"].ToString(); if (method == "getlist") { string str = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; SqlConnection conn = new SqlConnection(str); conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "select ProID,ProName,url from Project where Adress = '哈爾濱'"; DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds); string sb = CreateJsonParameters(ds.Tables[0]); context.Response.ClearContent(); context.Response.Write(sb.ToString()); context.Response.End(); } } } ////// 構(gòu)建JSON字符串 /// /// ///public string CreateJsonParameters(DataTable dt) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); if (dt != null && dt.Rows.Count > 0) { sb.Append("["); for (int i = 0; i < dt.Rows.Count; i++) { sb.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { //如果值不是最后一個則添加逗號分隔 if (j < dt.Columns.Count - 1) { sb.Append("/"" + dt.Columns[j].ColumnName.ToString() + "/":" + "/"" + dt.Rows[i][j].ToString() + "/","); } //如果值為最后個字符則不添加逗號 else if (j == dt.Columns.Count - 1) { sb.Append("/"" + dt.Columns[j].ColumnName.ToString() + "/":" + "/"" + dt.Rows[i][j].ToString() + "/""); } } //如果為最后一個值的話 則不添加逗號 if (i == dt.Rows.Count - 1) { sb.Append("}"); } else { sb.Append("},"); } } sb.Append("]"); return sb.ToString(); } else { return null; } }
$.ajax ( { type: "POST", url: "Handler.ashx?method=getlist", async: false,//true表示異步 false表示同步 contentType: "application/json", dataType: 'json', success: function(result) { var temp=eval(result); //通過javascript來解析返回數(shù)組字符串 for (var i = 0; i < temp.length; i++) { o.innerHTML += "項目名稱:" + result[i].ProName + "
網(wǎng)址:" + result[i].url + "
"; datas += "項目名稱:" + result[i].ProName + "
網(wǎng)址:" + result[i].url + "
"; } TINY.box.show(datas, 0, 0, 0, 1); } });
感謝各位的閱讀!關(guān)于jquery讀取json參數(shù)的示例就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!