当前位置: 首页 > news >正文

学习笔记: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":"智多星"}]

{"Unid":3,"CustomerName":"JsonConvert WWw.lesoufu.cN Json JsonConvert 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对。

http://www.dtcms.com/a/573903.html

相关文章:

  • Linux--进程池
  • 洞头区网站建设收费网站模板制作步骤
  • wordpress直接自己网站怎么做优化
  • 【开题答辩全过程】以 分布式菌菇销售系统为例,包含答辩的问题和答案
  • ui设计网站建设是什么意思深圳做网站制作
  • Canal:让 MySQL 数据同步像呼吸一样自然
  • PE工具开发实战:非正向与安全解析
  • 进一步加强网站建设管理郑州app拉新项目
  • 徐州百度推广总代理台州专业关键词优化
  • C++ 中模板元编程与 SFINAE 机制
  • 【实用运维工具】一键完成Oracle数据库的健康巡检,生成WORD报告
  • ICLR 2025 Spotlight | 打破AI“黑箱”!最新IIS评分框架:揭示模型性能与可解释性的共生关系
  • Java实现国密算法 SM2 /SM3 /SM4(基于 BouncyCastle)
  • 文件网站建设高新公司网站建设哪家好
  • Zabbix企业级分布式监控系统(上)
  • 深度解析:接口性能优化实战指南
  • 站点创建成功html代码hr表示
  • 一、Netty-高并发IO底层原理(5种主要的IO模型)
  • 网站开发外包 验收c2c有哪些网站
  • Jenkins是什么
  • 建网站公司浩森宇特大连网络营销师招聘网
  • LeetCode - 杨辉三角 / 二叉树的最大深度
  • RV1126 NO.39:OPENCV查找图形轮廓并画框
  • 【第1章>第3节】基于FPGA的图像腐蚀处理算法的Verilog实现
  • 西安电子科技大学信息化建设处网站模板建站排版跟没缓存好似的
  • 神经网络—— 学习与感知器(细节补充)
  • tensorflow 图像分类 之一
  • 自己网站上做淘宝搜索引擎网站开发属于什么行业
  • 查询网站备案号网站如何做免费的推广
  • 编写一个DXE driver 提供遍历pcie设备配置空间的protocol