黑马程序员技术交流社区
标题:
如何在一般处理程序中返回一个JSON数组?
[打印本页]
作者:
彭张铨
时间:
2012-9-18 10:19
标题:
如何在一般处理程序中返回一个JSON数组?
使用jquery时有个post方法其中返回的数据类型是json的 但我不知道怎么使用C#
语言返回json类型的数组
作者:
林洲
时间:
2012-9-18 11:03
本帖最后由 林洲 于 2012-9-18 11:06 编辑
json是服务端将复杂的对象序列化成为一个字符串,在浏览器端再将字符串反序列化为js可以读取的对象。
在C#中通过通过JavaScriptSerializer类就可以得到json对象,可以通过以下代码去理解:
如下服务端ashx页:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
JavaScriptSerializer jss = new JavaScriptSerializer();
//string json = jss.Serialize(new Person(){Name="tom",Age=30});//json 序列化对象
//string json = jss.Serialize(new string[] {"张静初","曲栅栅" });//json 序列化数组
Person[] ps = new Person[] { new Person() { Name = "张静初", Age = 30 }, new Person() { Name = "曲栅栅", Age = 30 } };
string json = jss.Serialize(ps);//json 序列化对象数组
context.Response.Write(json);
}
public bool IsReusable
{
get
{
return false;
}
}
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
复制代码
在客户端html页中,可以通过如下代码去调服务端传过来的json
<script type="text/javascript">
$(function () {
$.post("JsonTest5.ashx", function (data, status) {
var person = $.parseJSON(data);// 通过$.parseJSON(data)这个方法将服务端传过来的C#对象,转化为浏览器所能理解的
alert(person[0].Name);
//alert(person[0]);
//alert(person.Name);
//alert(data);
});
});
</script>
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2