Jquery getJSON方法分析(一)
准备工作
·Customer类
{
public int Unid { get; set; }
public string CustomerName { get; set; }
public string Memo { get; set; }
public string Other { get; set; }
}
·服务端处理(Json_1.ashx)
{ 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数据请求成功后的处理函数
// data是一个json对象
// textStatus will be "success"
this; // the options for this ajax request
}
(1)一个对象
"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循环来打印这条宋江的记录:
"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)修改:
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开始的索引。
"webdata/Json_1.ashx",
function(data) {
$.each(data, function(k, v) {
alert(k);
});
});
这时,k值为0,1……
列表json对象的方法:
"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对。
关于序列化与反序列化请见其它随笔(JSON)
Jquery getJSON方法分析(一)相关推荐
- Jquery getJSON方法分析(二)
getJSON与aspx 准备工作 ·Customer类 public class Customer { public int Unid { get; set; } public st ...
- ajax的get json数据格式,jQuery / 用getJSON()方法加载JSON格式数据 - 汇智网
加载JSON格式数据 jQuery的AJAX中使用getJSON()方法异步加载JSON格式数据.获取服务器中的数组,并对获取的数据进行解析,显示在页面中. 语法:$.getJSON(url,[dat ...
- jQuery源码分析之$.ajax方法
请阅读我其它的关于inspectPrefiltersOrTransport以及ajaxTransport等相关博文,请了解readyState状态码 针对获取到location.href的兼容代码: ...
- jquery 遍历java对象,js/jquery遍历对象和数组的方法分析【forEach,map与each方法】...
本文实例讲述了js/jquery遍历对象和数组的方法.分享给大家供大家参考,具体如下: JS forEach方法 arr[].forEach(function(value,index,array){ ...
- jQuery使用getJSON方法获取json数据完整示例
本文实例讲述了jQuery使用getJSON方法获取json数据.分享给大家供大家参考,具体如下: demo.js: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- jQuery源码分析之实例find和filter方法的区别七问
问题1:jQuery.filter的源码是什么? jQuery.filter = function( expr, elems, not ) {var elem = elems[ 0 ];//如果含有第 ...
- jQuery源码分析之removeAttr方法和attr方法
jQuery.removeAttr函数源码测试: <input type="radio" checked/> var rnotwhite = (/\S+/g); var ...
- JSONP跨域原理和jQuery.getJSON用法
JSONP是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式).本文主要介绍JS ...
- jQuery 源码分析第一篇之入口源码
目前阅读的是jQuery 1.11.3的源码,有参考nuysoft的资料.原来比较喜欢在自己的Evernote上做学习基类,并没有在网上写技术博客的习惯,现在开始学习JS的开源代码,想跟大家多交流,希 ...
最新文章
- python爬虫学习(三):使用re库爬取淘宝商品,并把结果写进txt文件
- +new Date()的用法
- java输入输出实验报告_JAVA实验报告(河北工业大学)
- 3d17304计算机开机号,福彩3D17304期福彩3D开机号147对应码653牛彩网关注数037金码0...
- Selenium对于对话框alert,confirm,prompt的处理
- activemq 内存_ActiveMQ中的温度,存储和内存使用百分比
- SpringBoot2 整合OAuth2组件,模拟第三方授权访问
- mongodb的架构 副本集搭建
- ubuntu 安装GPU黑屏 修改GRUB_仅支持legacy bios 情况下 win10 安装 ubuntu 双系统踩的一坑...
- 浮躁的世界里 我们要的是生活
- python微信图标制作_Python帮你微信头像任意添加装饰,别再@微信官方了!
- neutron的dvr
- Linux 系统中如何恢复已删除的文件?
- C语言堆栈应用之逆波兰法表达式求值
- PBOOT网站后太登录显示验证码错误的解决经验分享
- stm32h7内存分配_【STM32H7教程】第25章 STM32H7的TCM,SRAM等五塊內存基礎知識
- [从头读历史] 第280节 诗经目录以及十五国风的地域分布
- android 远吗编译 刷机 小米,小米10/小米10 Pro系统源代码现已开源,能刷机才是为发烧而生...
- ICME2021:基于机器学习的VVC帧内编码码率控制
- C++面试常见问答题看这三篇文章就够了(上)
热门文章
- 中国科学院空天信息研究院苏州分院面试——总结
- 【学习总结】GirlsInAI ML-diary day-3-数据类型
- for,while循环
- c#中Class和Struct使用与性能的区别
- libklel 1.1.0 发布,表达式语言
- Celt Codec简单使用方法
- java robot 对象_用Java Robot对象实现服务器屏幕远程监视
- mysql打包备份数据到_thinkPHP使用pclzip打包备份mysql数据库的方法
- 2.Riesz定理及其应用
- js rsa解密中文乱码_建议收藏 | 最全的 JS 逆向入门教程合集