在ASP.Net
MVC4中,
JsonResult该类中使用的默认Javascript序列化器仍然是JavascriptSerializer(可以在代码中进行检查)。
我认为您已经将它与ASP.Net Web.API混淆了,其中JSON.Net是默认的JS序列化器,但MVC4不使用它。
因此,您需要将JSON.Net配置为与MVC4配合使用(基本上,您需要创建自己的
JsonNetResult),有关它的文章很多:
- ASP.NET MVC和Json.NET
- 使用JSON.NET作为ASP.NET MVC 3中的默认JSON序列化程序-可以吗?
如果还希望将JSON.Net用于控制器操作参数,那么在模型绑定期间,则需要编写自己的
ValueProviderFactory实现。
您需要向以下位置注册实现:
ValueProviderFactories.Factories .Remove(ValueProviderFactories.Factories .OfType<JsonValueProviderFactory>().Single());ValueProviderFactories.Factories.Add(new MyJsonValueProviderFactory());
您可以使用内置
JsonValueProviderFactory示例或本文作为示例: ASP.NET MVC 3
–使用Json.Net改进的JsonValueProviderFactory



