JavaScriptSerializer().Serialize(Object data);
和Json(Object data);
之间的区别是什么?我应该担心选择一个吗?
答案 0 :(得分:3)
MVC Json()
类中的Controller
方法创建了一个JsonResult
,它在幕后使用JavaScriptSerializer
类。您可以在source code中看到这一点。所以这两种方法之间没有什么区别,只是如果您选择手动使用JavaScriptSerializer
,则会有更多的代码。
为了缓解任何混淆,我想指出内置的JavaScriptSerializer
类不是Json.Net的一部分,this question是@Rahul提到的第三方开源库。如果需要,可以将此库与ASP.NET MVC一起使用,但您可能需要添加少量基础结构来支持它。有关如何执行此操作的详细信息,请参阅{{3}}。但除非您正在处理大量数据或具有JavaScriptSerializer
不支持的特殊序列化需求,否则通常无需切换。