不使用任何第三方工具,提供JSON响应数据的理想方式是什么?
我正在考虑使用ASPX应用程序页面来返回json字符串响应。有什么想法吗?
答案 0 :(得分:10)
最简单的方法是创建一个具有[WebMethod]
属性的方法,响应将自动进行JSON序列化。亲自尝试一下:
[WebMethod]
public static string GetDateTime()
{
return DateTime.Now.ToString();
}
Ajax调用URL将是:
Page.aspx/GetDateTime
要传递参数,只需将它们添加到函数中:
[WebMethod]
public static int AddNumbers(int n1, int n2)
{
return n1 + n2;
}
我正在使用jQuery,因此data:
对象将设置为:
data: "{n1: 1, n2: 2}",
另请注意,返回的JSON对象如下所示:
{"d":[3]}
数据中的额外"d"
在此处说明:http://encosia.com/2009/02/10/a-breaking-change-between-versions-of-aspnet-ajax/
答案 1 :(得分:8)
不是aspx页面,但可能是ashx处理程序。为了简化这一过程,.Net 3.5内置了serialization support for JSON。
答案 2 :(得分:2)
查看ASP.NET框架提供的JavascriptSerializer类。通常,您可以在Web方法中使用此方法或在WebService中使用WebMethod来返回序列化为JSON的对象。
请参阅MSDN here上的参考资料。
答案 3 :(得分:0)
我通常使用带有ScriptService属性和ScriptManager的Web服务(asmx)。与一些jQuery插件有一些轻微的不兼容性,但它没有太严重,我不必处理任何手动序列化。