国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jquery解析json格式數據的方法(對象、字符串)

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

本文實例講述了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.survivalescaperooms.com/",{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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 比如县| 即墨市| 武冈市| 正镶白旗| 时尚| 炎陵县| 三穗县| 长汀县| 贵阳市| 宣汉县| 淮滨县| 咸阳市| 准格尔旗| 曲麻莱县| 阳信县| 齐齐哈尔市| 浮山县| 陈巴尔虎旗| 甘德县| 深州市| 武川县| 永昌县| 冕宁县| 雷波县| 呼伦贝尔市| 乌兰浩特市| 同心县| 五河县| 玉屏| 临潭县| 濉溪县| 巴南区| 乌兰县| 若尔盖县| 北辰区| 盈江县| 庐江县| 明水县| 芮城县| 西乡县| 磐石市|