当前位置:  编程技术>WEB前端

Jquery getJSON方法详细分析

    来源: 互联网  发布时间:2014-08-25

    本文导语:  准备工作·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 Cu...

准备工作
·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对。


    
 
 

您可能感兴趣的文章:

  • jQuery的3种请求方式$.post,$.get,$.getJSON
  • jquery getJSON跨域调用数据的例子
  • 解析jQuery中$.get、$.post、$.getJSON与$.ajax的用法
  • jquery的ajax和getJson跨域获取json数据的实现方法
  • jQuery学习笔记之jQuery原型属性和方法
  • jquery中slideUp()方法与slideDown()方法
  • jQuery 滑动方法slideDown向下滑动元素
  • jquery中fadeIn()方法与fadeOut()方法(示例)
  • jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
  • jquery show()方法与hide()方法的小例子
  • jquery show()方法与hide()方法(示例)
  • jquery上传插件fineuploader上传文件使用方法(jquery图片上传插件)
  • jQuery animate方法定位页面具体位置(示例)
  • Jquery图片延迟加载插件jquery.lazyload.js的使用方法
  • 判断一个对象是否为jquery对象的方法
  • jQuery 追加元素的方法如append、prepend、before
  • jQuery获得内容与属性方法
  • jQuery.holdReady()使用方法
  • jquery动态添加元素事件失效问题解决方法
  • jQuery获得内容和属性方法及示例
  • 使用jQuery重置(reset)表单的方法
  • 点击表单提交时出现jQuery没有权限的解决方法
  • jquery获取第几个元素方法示例 jquery选择器
  • Jquery之Bind方法参数传递与接收的三种方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • jQuery学习笔记之jQuery.fn.init()的参数分析
  • jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
  • jquery 单引号和双引号的区别分析
  • jquery $(document).ready()与window.onload的区别分析
  • jQuery中的正则表达式分析 正则基础
  • jquery异步请求并改变页面内容的实例分析
  • jquery的$(document).ready()与onload的加载顺序分析
  • Jquery的ready和Dom的onload的区别分析
  • jquery结合cookie实现自动登录的方法分析
  • Jquery children与find的区别分析
  • 对 jQuery 中 data 方法的误解分析
  • jquery淡入淡出效果原理分析
  • JQuery EasyUI 加载两次url的原因分析及解决方案
  • jQuery选择器-Sizzle之工作原理分析
  • jquery处理json数据实例分析
  • jquery ajax返回值与无返回值问题分析
  • jQuery 2.0.3 源码分析之core(一)整体架构
  • 通过javascript库JQuery实现页面跳转功能代码
  • jQuery鼠标动画插件 jquery-ahover
  • jQuery概述,代码举例及最新版下载
  • jQuery向导插件 Jquery Wizard Plugin
  • Jquery操作html复选框checkbox:全选,全不选和反选
  • jQuery圆角插件 jQuery Corners
  • struts+spring+hibernate+jquery实现分页功能的几个基本类介绍(异步加载)
  • jQuery相册插件 jQuery.popeye
  • jQuery UI组件 jQuery UI
  • jQuery右键菜单插件 jQuery ContextMenu
  • jQuery分页插件 Pagination jQuery Plugin
  • jQuery日历插件 jQuery Week Calendar
  • jQuery的中文日历插件 jQuery.datePickerCn
  • jQuery实现CSS3动画效果的插件 jQuery Transit


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3