c# - Newtonsoft 忽略属性?

标签 c# asp.net-mvc couchdb json.net

<分区>

我目前正在使用相同的 C# DTO 通过 LoveSeat 从 CouchDB 中提取数据,我将通过 ASP MVC Controller 返回 JSON。

我正在使用 NewtonSoft 库序列化我的 DTO,然后再通过 Controller 发送它们。

但是,由于 CouchDB 也使用 NewtonSoft,因此它也尊重属性级别的 NewtonSoft 属性,例如

[JsonIgnore]
[JsonProperty("foo")]

有没有办法明确告诉 newtonsoft 库忽略这些属性? LoveSeat 允许我提供我自己的 IObjectSerializer 实现,这让我可以完全控制 netwonsofts JsonSerializerSettings。那么,我可以使用这些设置忽略这些属性吗?

我问,目前我能看到的唯一选择是欺骗我的 DTO。虽然这并不可怕,但也不是很好。

我能看到的唯一其他方法是将我自己版本的 Newtonsoft.Json 源代码引入我的项目,使用不同的程序集名称等。但这种疯狂肯定是谎言,我会在我之前欺骗 DTO走这条路。

最佳答案

我不确定这是否是您所追求的,但据我了解,您正在寻找 [JsonIgnore] 属性。阻止属性与对象的其余部分一起序列化为 JSON。

[JsonIgnore]
public string Whatever{ get; set; }

关于c# - Newtonsoft 忽略属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6309725/

相关文章:

c# - 单声道并传递 unicode 字符串

c# - 设置到区域的路由,而无需在 MVC 中的 url 中指定区域名称

c# - 替换 ASP.net MVC 核心中的 DefaultModelBinder

jquery - 与 jQuery 验证绑定(bind)的单选选项不起作用

ubuntu - 在 Ubuntu 16 上运行 CouchDB 的 emfile 错误

java - 无法使用 HTTP PUT 将用户添加到 CouchDB 中的数据库/_security

mod-rewrite - 在 CouchDB 中重写 url

c# - 页面在 localhost 上加载,但不在 Azure 网站中加载 - 错误 500

c# - Linq List<string> 并集

c# - 如何使用 NUnit (C#) 进行通用测试?