JavaScriptSerializer 和控制器方法之间的区别 Json

Difference between JavaScriptSerializer and Controller Method Json

JavaScriptSerializer().Serialize(Object data);Json(Object data); 有什么区别。我应该担心选择一个吗?

MVC Controller class 中的 Json() 方法创建了一个 JsonResult,它在幕后使用了 JavaScriptSerializer class。您可以在 source code 中看到这一点。所以这两种方法之间确实没有区别,只是如果您选择手动使用 JavaScriptSerializer 代码会多一些。

为了消除任何混淆,我要指出内置的 JavaScriptSerializer class 不是 Json.Net, which is a third-party open source library mentioned by @Rahul. It is possible to use this library with ASP.NET MVC if you want, but you may need to add a small amount of infrastructure to support it. See this question 的一部分,以获取有关如何做到这一点的详细信息。但是,除非您正在处理大量数据或有 JavaScriptSerializer 不支持的特殊序列化需求,否则通常不需要切换。