在 ASP.NET MVC 中自定义 JSON 序列化
在 ASP.NET MVC 中使用 JSON ActionResult 时,默认行为是将枚举序列化为数值而不是其字符串名称。虽然 JSON.Net 应该可以解决这个问题,但它可能不是您应用程序中的默认序列化程序。
检查 Web.config 设置
与普遍看法相反,在 web.config 中设置默认 JSON 序列化程序并不适用于 ASP.NET MVC。事实上,ASP.NET MVC 4 仍然使用 JavaScriptSerializer 来处理 JSON 操作。
在 MVC4 中实现 JSON.Net
要在 MVC4 中集成 JSON.Net,需要创建一个自定义的 JsonNetResult 类。请参考以下文章以获取指导:
将 JSON.Net 应用于控制器参数
要在模型绑定期间将 JSON.Net 应用于控制器操作参数,请创建您自己的 ValueProviderFactory 实现。请确保使用以下代码注册您的实现:
<code class="language-csharp">ValueProviderFactories.Factories.Remove(ValueProviderFactories.Factories .OfType<JsonValueProviderFactory>().Single()); ValueProviderFactories.Factories.Add(new MyJsonValueProviderFactory());</code>
考虑使用内置的 JsonValueProviderFactory 或参考以下文章以了解更多信息:
以上是如何在 ASP.NET MVC 中自定义 JSON 序列化?的详细内容。更多信息请关注PHP中文网其他相关文章!