用json格式返回自定义对象。,jQuery asp.net

客户端用一个html页面调用一个ashx文件(一般http处理程序),返回json格式的自定义对象:

html:-------------------------------------------------- 姓名: 年龄: -------------------------------------------------- handler.ashx文件:--------------------------------------------------------

using System;

using System.Web;

using System.Runtime.Serialization.Json;

using System.Collections;

using System.Runtime.Serialization;

public class Handler : IHttpHandler

{

public void ProcessRequest(HttpContext context)

{

context.Response.ContentType = "text/plain";

string name = context.Request.Params["name"].ToString();

string age = context.Request.Params["age"].ToString();

person p1 = new person(name,age);

DataContractJsonSerializer djson = new DataContractJsonSerializer(p1.GetType());

//将对象序列化为 JavaScript 对象表示法

(JSON) djson.WriteObject(context.Response.OutputStream, p1);

}

public bool IsReusable { get { return false; } }

[DataContract]//要序列化,一定要加这个属性

public class person {

[DataMember]

//属性“DataMember”只在“property, indexer, field”声明中有效。

public string Name="无名士";

[DataMember]

public string Age="0";

public override string ToString()

{

return "姓名:" + Name + "年龄:" + Age;

}

public person(string name,string age)

//自定义类

person { this.Name = name; this.Age = age; }

public person() { } } }