如何用c#在服务器客户端构建json对象
本文关键字:构建 json 对象 客户端 服务器 何用 | 更新日期: 2023-09-27 18:12:32
我在服务器中提供数据,并希望将其发送到客户端,我使用ashx方法ProcessRequest。
public override void ProcessRequest ( HttpContext context )
{
string html="";
//do sth for get html
context.Response.Write ( html.ToString() );
}
在客户端,我用ajax渲染页面。我想在客户端获取json对象,怎么做?如何在服务器端构建json ?
在。net版本>= 3.5中使用JSON序列化。一个小例子:
[DataContract]
class Student
{
[DataMember]
public string Name { get; set; }
[DataMember]
public int Age { get; set; }
}
static void Main(string[] args)
{
var serializer = new DataContractJsonSerializer(typeof (Student));
var student = new Student {Name = "Jonh", Age = 18};
var stream = new MemoryStream();
serializer.WriteObject(stream, student);
var jsonString = Encoding.Default.GetString(stream.ToArray());
}
您可以在System.Runtime.Serialization.dll
DataContractJsonSerializer
您可以使用DataContractJsonSerializer来实现这一点。定义你的响应
[DataContract]
class Response
{
[DataMember]
private string Content { get; set; }
}
然后序列化你的html-response到输出流:
Response response = new Response();
response.Content = html.ToString();
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Response));
serializer.WriteObject(context.Response.Stream,response);
如果是。net 2.0,你可以试试litjson