如何用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 ?

如何用c#在服务器客户端构建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