加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 07:29:39 所属栏目:asp.Net 来源:网络整理
导读:我有一个web-API项目和一个带有一些属性的简单类,有些标记为 JsonIgnore. 在我的MVC控制器中,我放了Return Json(instanceOfMyClass,JsonRequestBehavior.AllowGet).所有成员都是序列化的. 我把Return Json(Of MyClass)(instanceOfMyClass)放在我的WEBAPI控制
我有一个web-API项目和一个带有一些属性的简单类,有些标记为< JsonIgnore>.

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

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

解决方法

MVC中的JsonResult实际上并没有使用 JSON.NET,这就是[JsonIgnore]无效的原因.相反,它使用 JavaScriptSerializer类.

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读