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

在运行时期间在ASP.NET Web API中控制[JsonIgnore]

发布时间:2020-12-16 09:48:22 所属栏目:asp.Net 来源:网络整理
导读:众所周知,ASP.NET web api(ApiController)通过NewtonSoft. JSON自动提供 JSON响应. 我的三级1:MANY:1 EF数据模型以多种方式查询,并且将[JsonIgnore]属性应用于某些虚拟属性以便消除参考循环问题,它可以正常工作. (我在this(link)答案中使用第三种解决方案)
众所周知,ASP.NET web api(ApiController)通过NewtonSoft. JSON自动提供 JSON响应.

我的三级1:MANY:1 EF数据模型以多种方式查询,并且将[JsonIgnore]属性应用于某些虚拟属性以便消除参考循环问题,它可以正常工作.
(我在this(link)答案中使用第三种解决方案)

但我的问题是,我有时需要使用json-ignored属性来查询模型.

是否有任何方法可以在运行时控制[JsonIgnore]属性?
或者,在运行时期间是否有任何方法可以在NewtonSoft.JSON中切换要忽略的开启和关闭属性?

解决方法

我知道解决这个问题的两种方法:

>您可以在模型中添加其他布尔属性(具有特定名称).这个解决方案非常简单,但需要更改您的模型.
>您可以编写自己的IContractResolver.这种方法更复杂,但更灵活.

这里描述的两种解决方案:’条件属性序列化’http://james.newtonking.com/json/help/index.html?topic=html/ConditionalProperties.htm

(编辑:李大同)

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

    推荐文章
      热点阅读