gpt4 book ai didi

asp.net - 在运行时控制 ASP.NET Web API 中的 [JsonIgnore]

转载 作者:行者123 更新时间:2023-12-02 17:01:38 25 4
gpt4 key购买 nike

众所周知,ASP.NET Web api (ApiController) 通过 NewtonSoft.JSON 自动给出 JSON 响应。

我的三级 1:MANY:1 EF 数据模型可以通过多种方式进行查询,并且可以通过将 [JsonIgnore] 属性应用于某些虚拟属性来很好地消除引用循环问题。(我在 this(link) 答案中使用第三种解决方案)

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

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

最佳答案

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

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

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

关于asp.net - 在运行时控制 ASP.NET Web API 中的 [JsonIgnore],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com