日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Jquery getJSON方法分析(一)

發布時間:2025/4/5 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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);
});

?

結果:

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

?

結果:

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

?

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

關于序列化與反序列化請見其它隨筆(JSON)

總結

以上是生活随笔為你收集整理的Jquery getJSON方法分析(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。