Asp.net-Mvc
JsonIgnore 在 System.Web.Mvc.Controller 中不起作用
我有一個 web-API 項目和一個帶有一些屬性的簡單類,其中一些被標記為
<JsonIgnore>.在我的 MVC 控制器中,我放了
Return Json(instanceOfMyClass, JsonRequestBehavior.AllowGet). 所有成員都被序列化。我放入Return Json(Of MyClass)(instanceOfMyClass)了我的 WEBAPI 控制器。只有我打算序列化的成員在場。我怎樣才能忽略這些獨立於將要序列化的控制器的屬性。
在
JsonResultMVC 中實際上並不使用 JSON.NET,這就是為什麼[JsonIgnore]不起作用。相反,它使用JavaScriptSerializer類。要使
JavaScriptSerializer跳過屬性,您可以[ScriptIgnore]在模型屬性上設置屬性。另一種方法是進行自定義
ActionResult,使用 JSON.NETJsonConvert序列化對象,然後尊重該[JsonIgnore]屬性。
如果它對任何人有幫助,它似乎不太可能或直接使用
$$ ScriptIgnore $$在我的 .net Core 應用程序中,所以我這樣做了:
public IActionResult Index() { Response.ContentType = "text/json"; return Content(JsonConvert.SerializeObject(instanceOfMyClass)); }