最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JquerygetJSON方法详细分析_jquery

来源:懂视网 责编:小采 时间:2020-11-27 21:17:48
文档

JquerygetJSON方法详细分析_jquery

JquerygetJSON方法详细分析_jquery:准备工作·Customer类 代码如下:public class Customer{ public int Unid { get; set; } public string CustomerName { get; set; } public string Memo { get; set; } public string Other { get; s
推荐度:
导读JquerygetJSON方法详细分析_jquery:准备工作·Customer类 代码如下:public class Customer{ public int Unid { get; set; } public string CustomerName { get; set; } public string Memo { get; set; } public string Other { get; s

准备工作
·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 + "
";
})
$("#divmessage").html(tt);
});

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

(2)对象数组
Ashx文件(Json_1.ashx)修改:
代码如下:
List _list = new List();
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 + "
";
});
});
$("#divmessage").html(tt);
});

结果:
Unid:1
CustomerName:宋江
Memo:天魁星
Other:黑三郎
Unid:2
CustomerName:吴用
Memo:天机星
Other:智多星

这里用了嵌套循环,第一个循环用于从List中遍历Customer对象,第二个循环用于从Customer对象中遍历Customer对象的属性,也就是k/v对。

文档

JquerygetJSON方法详细分析_jquery

JquerygetJSON方法详细分析_jquery:准备工作·Customer类 代码如下:public class Customer{ public int Unid { get; set; } public string CustomerName { get; set; } public string Memo { get; set; } public string Other { get; s
推荐度:
标签: 方法 分析 jQuery
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top