asp.net-mvc - JsonIgnore 在 System.Web.Mvc.Controller 中不起作用

标签 asp.net-mvc asp.net-web-api visual-studio-2015

我有一个 web-API 项目和一个带有一些属性的简单类,有些被标记为 <JsonIgnore> .

在我的 MVC Controller 中,我放置了 Return Json(instanceOfMyClass, JsonRequestBehavior.AllowGet) .所有成员都是序列化的。
我把Return Json(Of MyClass)(instanceOfMyClass)在我的 WEBAPI Controller 中。只有我打算序列化的成员存在。

如何独立于将要序列化的 Controller 忽略这些属性。

最佳答案

JsonResult在 MVC 中实际上不使用 JSON.NET 这就是为什么 [JsonIgnore]不管用。相反,它使用 JavaScriptSerializer类(class)。

使JavaScriptSerializer跳过一个属性,你可以吗[ScriptIgnore]您的模型属性上的属性。

另一种方法是定制 ActionResult使用 JSON.NET 的 JsonConvert序列化对象,然后兑现 [JsonIgnore]属性。

关于asp.net-mvc - JsonIgnore 在 System.Web.Mvc.Controller 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32160530/

相关文章:

visual-studio - 是否可以在 Visual Studio 状态栏中显示自定义图标

c# - 在运行时从另一个程序集加载 Controller

ASP.NET TempData 即使在阅读后也不会被清除

c# - 简单注入(inject)器 - 自定义 WebViewPage

c# - Owin 自托管 WebApi 超时设置

android - 调用成功时响应体为空(android)

rest - 如果客户端向不存在的 Web API 资源发出 DELETE 请求,应该返回什么

c# - MVC3 应用程序中的多个 Active Directory 查找

visual-studio-2015 - Visual Studio 2015 Update 1在启动时卡住

.net - Nuget:NU1001 无法解析依赖项 *。 (错误:...在 100000 毫秒后超时。)