任何人都可以向我解釋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