- 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);
- }
- });