【发布时间】:2014-12-05 13:26:37
【问题描述】:
谁能解释一下 ASP.NET 如何在 WebMethods 中处理从类对象到 JSON 对象的转换?
例如,您有以下 WebMethod,它返回一个 Person 对象:
[WebMethod]
public static Person GetPerson()
{
Person p = new Person()
{
Id = 1,
Name = "Test"
};
return p;
}
在我调用 WebMethod 的 jQuery 中,我得到一个包含 json 对象的响应。
ASP.NET 是如何自动做到这一点的?它是否使用JavaScriptSerializer 类?
您还看到了很多使用 JSON 转换器将您的类对象转换为 json 对象的示例。为什么是这样?是因为它使用的JavaScriptSerializer 类及其糟糕的性能还是...?
【问题讨论】:
-
旁注:
WebMethod不再受支持。如果您需要基于 JSON 或 XML 的 API,最好查看 ASP.NET Web API,它使用 Newtonsoft 的 Json.NET 来处理 JSON 序列化。 -
我正在使用 ASP.NET Webforms,我有一些 ajax 调用,我可以在我的 webforms 项目中使用 Web API 吗?
-
是的!你当然可以。 Microsoft 有一个名为One ASP.NET 的倡议。基本上所有服务都应该具有相同的功能(如果适用),您可以混合和匹配您的项目。我实际上开始使用带有 Web 表单的 Web API,虽然现在我正在学习 MVC。它基本上就像添加一个 NuGet 包、配置一些路由一样简单,然后您实际上可以将您的 Web Method 代码复制到 Web API 函数中。有关入门步骤,请参阅我的第一条评论中的链接。
-
谢谢!我会对此进行调查,但我希望也能得到答案,以充分理解使用 ajax 调用的请求和响应之间的步骤。