JsonIgnore无法在System.Web.Mvc.Controller中工作

Ber*_*ler 4 asp.net-mvc asp.net-web-api visual-studio-2015

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

在我的MVC控制器中,我把Return Json(instanceOfMyClass, JsonRequestBehavior.AllowGet).所有成员都被序列化.我放入Return Json(Of MyClass)(instanceOfMyClass)了我的WEBAPI控制器.只有我打算序列化的成员才会出现.

如何独立于要序列化的控制器忽略这些属性.

Mar*_*sen 11

JsonResult在MVC实际上并未使用JSON.NET这是为什么[JsonIgnore]不工作.相反,它使用JavaScriptSerializer该类.

JavaScriptSerializer跳过属性,可以使用[ScriptIgnore]模型属性上的属性.

另一种方法是创建一个ActionResult使用JSON.NET JsonConvert来定制对象的自定义,然后该对象将遵循该[JsonIgnore]属性.