<分区>
我目前正在使用相同的 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走这条路。