在Ajax中,客户端只能获得从请求地址返回的字符串,这对于想返回对象或对象集合来说很痛苦,需要在服务器端拼接字符串,在客户端解析字符串。Json则简单的解决了这个问题,它可以将对象序列化为字符串,再反序列化为对象。下面是个小例子。
共需要三个文件:实体类,处理页,客户端网页
public class User
{
public string Name { get; set; }
public int Age { get; set; }
}public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
User tom = new User() { Name = "Tom", Age = 22 };
User lily = new User() { Name = "Lily", Age = 19 };
List<User> users = new List<User>();
users.Add(tom);
users.Add(lily);
//Json 将object 对象 变string
JavaScriptSerializer jss = new JavaScriptSerializer();
context.Response.Write(jss.Serialize(users));
} //发ajax请求
$.post("Handler1.ashx", function (data, status) {
//将获得的数据反序列化 获得对象 然后可以直接使用属性获取值
var users = $.parseJSON(data);
for (var i = 0; i < users.length; i++) {
alert(users[i].Name + "\t" + users[i].Age);
}
});
本文介绍如何利用JSON简化Ajax中的数据交互过程。通过示例展示了服务器端如何将对象序列化为字符串,以及客户端如何解析这些字符串并将其反序列化为对象。此方法避免了复杂的字符串操作。
1万+

被折叠的 条评论
为什么被折叠?



