任何人都可以向我解释ASP.NET如何处理从类对象到WebMethods中的JSON对象的转换?WebMethod自动将类对象作为JSON返回
例如,你有以下的WebMethod返回一个Person
对象:
[WebMethod]
public static Person GetPerson()
{
Person p = new Person()
{
Id = 1,
Name = "Test"
};
return p;
}
在我的jQuery在那里我打电话的WebMethod,我得到它包含了一个JSON对象的响应。
ASP.NET如何自动执行此操作?它是否使用JavaScriptSerializer
课程?
此外,您还看到很多使用JSON转换器将您的类对象转换为json对象的示例。为什么是这样?是因为它使用的JavaScriptSerializer
类,它的糟糕表现还是...?
附注:'WebMethod'不再被支持。如果您需要基于JSON或XML的API,最好查看[ASP.NET Web API](http://www.asp.net/web-api),它使用Newtonsoft的Json.NET来处理JSON序列化。 – mason 2014-12-05 13:35:30
我正在使用ASP.NET Webforms,我有一些Ajax调用,我可以在我的webforms项目中使用Web API吗? – Mivaweb 2014-12-05 13:39:46
是的!你当然可以。微软有这个倡议称为[One ASP.NET](http://channel9.msdn.com/Events/Visual-Studio/Launch-2013/WC103)。基本上所有的服务都应该得到相同的功能(如果适用),你可以混合和匹配你的项目。实际上,我开始使用Web窗体的Web API,但现在我正在学习MVC。它基本上就像添加一个NuGet包一样简单,配置一些路由,然后你几乎可以将你的Web方法代码复制到Web API函数中。请参阅我的第一个评论中的链接,了解入门步骤。 – mason 2014-12-05 13:42:26