亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Jquery getJSON方法詳細(xì)分析

 更新時(shí)間:2013年12月26日 08:51:34   作者:  
本篇文章主要是對(duì)Jquery getJSON方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助

準(zhǔn)備工作
·Customer類

復(fù)制代碼 代碼如下:

public class Customer
{
    public int Unid { get; set; }
    public string CustomerName { get; set; }
    public string Memo { get; set; }
    public string Other { get; set; }
}

·服務(wù)端處理(Json_1.ashx)
復(fù)制代碼 代碼如下:

Customer customer = new Customer
      { Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);

context.Response.Write(strJson);


(一)Jquery. getJSON

方法定義:jQuery.getJSON( url, data, callback )

通過(guò)get請(qǐng)求得到j(luò)son數(shù)據(jù)
·url用于提供json數(shù)據(jù)的地址頁(yè)
·data(Optional)用于傳送到服務(wù)器的鍵值對(duì)
·callback(Optional)回調(diào)函數(shù),json數(shù)據(jù)請(qǐng)求成功后的處理函數(shù)

復(fù)制代碼 代碼如下:

function(data, textStatus) {
        // data是一個(gè)json對(duì)象
        // textStatus will be "success"
       this; // the options for this ajax request
}

(1)一個(gè)對(duì)象
復(fù)制代碼 代碼如下:

$.getJSON(
    "webdata/Json_1.ashx",
    function(data) {
       $("#divmessage").text(data.CustomerName);
    }
);

向Json_1.ashx地址請(qǐng)求json數(shù)據(jù),接收到數(shù)據(jù)后,在function中處理data數(shù)據(jù)。 這里的data的數(shù)據(jù)是一條記錄,對(duì)應(yīng)于一個(gè)customer實(shí)例,其中的數(shù)據(jù)以k/v形式存在。即以[object,object]數(shù)組形式存在。
{"Unid":1,"CustomerName":"宋江","Memo":"天魁星","Other":"黑三郎"}

所以在訪問(wèn)時(shí),以data.Property來(lái)訪問(wèn),下面以k/v循環(huán)來(lái)打印這條宋江的記錄:

復(fù)制代碼 代碼如下:

$.getJSON(
    "webdata/Json_1.ashx",
    function(data) {
        var tt="";
        $.each(data, function(k, v) {
            tt += k + ":" + v + "<br/>";
        })
        $("#divmessage").html(tt);
});

結(jié)果:
Unid:1
CustomerName:宋江
Memo:天魁星
Other:黑三郎

(2)對(duì)象數(shù)組
Ashx文件(Json_1.ashx)修改:

復(fù)制代碼 代碼如下:

List<Customer> _list = new List<Customer>();
Customer customer = new Customer
       { Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};
Customer customer2 = new Customer
       { Unid = 2, CustomerName = "吳用", Memo = "天機(jī)星", Other = "智多星" };

_list.Add(customer);
_list.Add(customer2);
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(_list);


它生成的json對(duì)象的字符串是:

[{"Unid":1,"CustomerName":"宋江","Memo":"天魁星","Other":"黑三郎"},
{"Unid":2,"CustomerName":"吳用","Memo":"天機(jī)星","Other":"智多星"}]

這里可以看到做為集合的json對(duì)象不是再一條記錄,而是2條記錄,是一個(gè)[[object,object]]數(shù)組:[object,object][object,object],而每個(gè)[object,object]表示一條記錄,對(duì)應(yīng)一個(gè)Customer,其實(shí)也是k/v的形式,而這個(gè)v就是一個(gè)Customer對(duì)象,而這個(gè)k是從0開始的索引。

復(fù)制代碼 代碼如下:

$.getJSON(
    "webdata/Json_1.ashx",
    function(data) {
        $.each(data, function(k, v) {
            alert(k);
        });
});

這時(shí),k值為0,1……

列表json對(duì)象的方法:

復(fù)制代碼 代碼如下:

$.getJSON(
    "webdata/Json_1.ashx",
    function(data) {
        var tt = "";
        $.each(data, function(k, v) {
            $.each(v,function(kk, vv) {
                tt += kk + ":" + vv + "<br/>";
            });
        });
        $("#divmessage").html(tt);
});

結(jié)果:
Unid:1
CustomerName:宋江
Memo:天魁星
Other:黑三郎
Unid:2
CustomerName:吳用
Memo:天機(jī)星
Other:智多星
 

這里用了嵌套循環(huán),第一個(gè)循環(huán)用于從List中遍歷Customer對(duì)象,第二個(gè)循環(huán)用于從Customer對(duì)象中遍歷Customer對(duì)象的屬性,也就是k/v對(duì)。

相關(guān)文章

最新評(píng)論