你如何在.NET中提供JSON响应数据?

LB.*_*LB. 7 .net ajax json response.write

不使用任何第三方工具,提供JSON响应数据的理想方式是什么?

我想有一个ASPX应用程序页面只返回json字符串响应.有任何想法吗?

Joh*_*sch 10

最简单的方法是使用[WebMethod]属性创建方法,响应将自动进行JSON序列化.亲自尝试一下:

[WebMethod]
public static string GetDateTime()
{
    return DateTime.Now.ToString();
}
Run Code Online (Sandbox Code Playgroud)

Ajax调用URL将是:

Page.aspx/GetDateTime

编辑:

要传递参数,只需将它们添加到函数中:

[WebMethod]
public static int AddNumbers(int n1, int n2)
{
    return n1 + n2;
}
Run Code Online (Sandbox Code Playgroud)

我正在使用jQuery,因此该data:对象将设置为:

data: "{n1: 1, n2: 2}",
Run Code Online (Sandbox Code Playgroud)

另请注意,返回的JSON对象如下所示:

{"d":[3]}
Run Code Online (Sandbox Code Playgroud)

"d"数据中的额外内容在此解释:http://encosia.com/2009/02/10/a-breaking-change-between-versions-of-aspnet-ajax/


Joe*_*orn 8

不是aspx页面,但可能是一个ashx处理程序.为了简化这一过程,.Net 3.5 内置了对JSON的序列化支持.

  • 因为您不需要整页生命周期.一个aspx页面将导致你不需要的大量工作 - 这是浪费. (5认同)