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

首頁 > 語言 > JavaScript > 正文

Jquery getJSON方法詳細分析

2024-05-06 15:58:10
字體:
來源:轉載
供稿:網友
本篇文章主要是對Jquery getJSON方法進行了詳細的分析介紹,需要的朋友可以過來參考下,希望對大家有所幫助

準備工作
·Customer類

復制代碼 代碼如下:


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


·服務端處理(Json_1.ashx)

復制代碼 代碼如下:


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 )

通過get請求得到json數據
·url用于提供json數據的地址頁
·data(Optional)用于傳送到服務器的鍵值對
·callback(Optional)回調函數,json數據請求成功后的處理函數

復制代碼 代碼如下:


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


(1)一個對象

復制代碼 代碼如下:


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


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

所以在訪問時,以data.Property來訪問,下面以k/v循環來打印這條宋江的記錄:

復制代碼 代碼如下:


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


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

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

復制代碼 代碼如下:


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

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


它生成的json對象的字符串是:

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

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

復制代碼 代碼如下:


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


這時,k值為0,1……

列表json對象的方法:

復制代碼 代碼如下:


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


結果:
Unid:1
CustomerName:宋江
Memo:天魁星
Other:黑三郎
Unid:2
CustomerName:吳用
Memo:天機星
Other:智多星
 

這里用了嵌套循環,第一個循環用于從List中遍歷Customer對象,第二個循環用于從Customer對象中遍歷Customer對象的屬性,也就是k/v對。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 珠海市| 顺昌县| 眉山市| 桦川县| 葫芦岛市| 苗栗县| 江西省| 那坡县| 阿勒泰市| 平罗县| 图木舒克市| 夏河县| 黔西县| 沈丘县| 舒兰市| 黑山县| 璧山县| 铜梁县| 平远县| 图木舒克市| 英山县| 平凉市| 浦东新区| 乌什县| 剑河县| 高陵县| 从化市| 漳州市| 江都市| 交口县| 深水埗区| 庆城县| 响水县| 长阳| 海淀区| 靖西县| 海盐县| 广宗县| 清徐县| 克拉玛依市| 镇沅|