Jquery中利用getJSON在ASP.NET获取和处理JSON数据详解
3 浏览量
更新于2024-08-30
收藏 44KB PDF 举报
在ASP.NET中,jQuery的getJSON方法是一种强大的工具,用于异步从服务器获取JSON数据并处理。本文将详细介绍如何在jQuery中利用getJSON与ASP.NET配合,实现数据的交互。
首先,我们需要准备一个名为`Customer`的C#类,用于表示JSON对象的结构。这个类包含属性如`Unid`、`CustomerName`、`Memo`和`Other`,示例代码如下:
```csharp
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`的ASP.NET AJAX Handler (ASHX)文件,用于处理JSON数据的生成。在这个文件中,我们创建了两个`Customer`实例,并使用`JsonConvert.SerializeObject`方法将其转换为JSON字符串:
```csharp
Customercustomer = new Customer
{
Unid = 1,
CustomerName = "宋江",
Memo = "天魁星",
Other = "黑三郎"
};
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);
// 对于多个对象的集合,如:
Customercustomer2 = new Customer
{
Unid = 2,
CustomerName = "吴用",
Memo = "天机星",
Other = "智多星"
};
List<Customer> _list = new List<Customer>();
_list.Add(customer);
_list.Add(customer2);
string strJsonList = Newtonsoft.Json.JsonConvert.SerializeObject(_list);
context.Response.Write(strJson); // 单个对象的情况
context.Response.Write(strJsonList); // 多个对象的情况
```
在jQuery客户端,我们编写一个函数`GetCustomer_Ashx()`,通过getJSON调用`Json_1.ashx`来获取数据:
```javascript
function GetCustomer_Ashx() {
$.getJSON(
"webdata/Json_1.ashx", // 调用服务器端ASHX的URL
function(data) { // 数据接收回调
var tt = "";
$.each(data, function(k, v) { // 遍历接收到的JSON对象
tt += k + ": " + v + "<br/>";
});
$("#divmessage").html(tt); // 将数据添加到页面元素中
}
);
}
```
当调用`GetCustomer_Ashx()`时,jQuery会发起一个HTTP GET请求到服务器,服务器响应的JSON数据会被解析并传递给回调函数,这里我们用`$.each`遍历数据,然后动态更新HTML内容。
对于返回实体集合的ASHX,只需稍微修改服务器端的代码,将单个对象序列化改为列表的序列化即可。客户端的处理逻辑保持不变,因为getJSON可以接受JSON数组作为数据源。
jQuery的getJSON方法在ASP.NET中用于与服务器进行轻量级通信,能够有效地处理异步JSON数据,并在前端以动态方式展示或处理数据。通过结合C#的实体类和JSON序列化,可以实现高效且易于维护的数据交互。
258 浏览量
2012-11-07 上传
2008-11-02 上传
2009-02-06 上传
2020-10-20 上传
2021-05-28 上传
2009-09-22 上传
2009-11-07 上传
2020-10-22 上传
weixin_38687218
- 粉丝: 3
- 资源: 941
最新资源
- 搜索引擎-原理、技术与系统.pdf
- mysql视图简介.pdf
- SEO Book By:Google
- iphone cook book
- MIMO及智能天线技术简介
- Quick.Recipes.On.Symbian.OS-Mastering.CPP.Smartphone.Development
- 进销存管理系统(开发文档)
- Tornado使用指南
- 基于Delphi技术的图书管理系统设计
- Oracle9i SQL Reference官方文档
- UNIX 环境高级编程
- 需求规格说明书(Volere版)
- ExtJs中文帮助文档
- VMwareWorkstation6基本使用
- 华南理工电子电子考研试卷
- 2008 acm 个人赛