jquery解析json格式資料的方法(對象、字串)

來源:互聯網
上載者:User

標籤:oid   uil   name   根據   tom   log   clear   pre   分享   

相關函數

函數 描述
JSON.parse() 用於將一個 JSON 字串轉換為 JavaScript 對象。
JSON.stringify() 用於將 JavaScript 值轉換為 JSON 字串。

//data為字串類型 則要將字串類型轉換成json資料類型var jsondatas=eval("("+data+")");



本文執行個體講述了jquery解析json格式資料的方法。分享給大家供大家參考,具體如下:json資料是我們常用的一種小型的資料即時交換的一個東西,他可以利用jquery或js進行解析,下面我來介紹jquery解析json字串方法。一、jQuery解析Json資料格式:使用這種方法,你必須在Ajax請求中設定參數:dataType: "json"擷取通過回呼函數返回的資料並解析得到我們想要的值,看源碼:?jQuery.ajax({ url: full_url, dataType: "json", success: function(results) { alert(result.name); } });通常情況下,你可以從後台返回JSON資料,前台就交給jQuery啦,哈哈!!jquery非同步請求將type(一般為這個配置屬性)設為“json”,或者利用$.getJSON()方法獲得伺服器返回,那麼就不需要eval()方法了,因為這時候得到的結果已經是json對象了,只需直接調用該對象即可,這裡以$.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("http://www.jb51.net/",{param:"sanic"},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); }); }); 二、jQuery解析Json對象:jQuery提供了另一種方法“parseJSON”,這需要一個標準的JSON字串,並返回產生的JavaScript對象。讓我們來看看文法: 複製代碼 代碼如下:data = $.parseJSON(string);看看它是如何運用的到實際開發中的:?jQuery.ajax({ url: dataURL, success: function(results) { var parsedJson = jQuery.parseJSON(results); alert(parsedJson.name); } });補充:jquery解析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:‘商雒市‘} ] }"; //data為字串類型 則要將字串類型轉換成json資料類型var jsondatas=eval("("+data+")");$.each(jsondatas.root,function(i,n){alert("name"+n.name+"value"+n.value);})//以下為數群組類型字串 轉換成json 字串 解析//數組形式的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);//根據索引取值});//json資料字元 不需要轉換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(); } } } /// <summary> /// 構建JSON字串 /// </summary> /// <param name="dt"></param> /// <returns></returns> 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來解析返回數組字串 for (var i = 0; i < temp.length; i++) { o.innerHTML += "項目名稱:" + result[i].ProName + "<br/>網址:<a href=" + result[i].url + " mce_href=" + result[i].url + " target=‘_blank‘>" + result[i].url + "</a><br/>"; datas += "項目名稱:" + result[i].ProName + "<br/>網址:<a href=" + result[i].url + " mce_href=" + result[i].url + " target=‘_blank‘>" + result[i].url + "</a><br/>"; } TINY.box.show(datas, 0, 0, 0, 1); }});

 

jquery解析json格式資料的方法(對象、字串)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.