我目前正在使用相同的 C # DTO 通过 LoveSeat 从 CouchDB 中提取数据,我将通过一个 ASP MVC 控制器返回 JSON。
我正在使用 NewtonSoft 库来系列化我的 DTO,然后再通过控制器发送它们。
然而,由于 CouchDB 也使用 NewtonSoft,它也尊重属性级别的 NewtonSoft 属性,例如
[JsonIgnore]
[JsonProperty("foo")]
是否可以告诉 newtonsoft 库明确忽略这些属性?LoveSeat 允许我提供自己的 IObjectSerializer 实现,它使我能够完全控制网络软件 JsonSerializerSettings。那么,我可以通过使用这些设置来忽略这些属性吗?
我问,作为唯一的选择,我可以看到在这一点上,是欺骗我的 DTO。虽然不是很糟糕,但也不是很好。
我能想到的唯一其他办法就是引入我自己的牛顿软件。使用不同的程序集名称等等。但这种疯狂肯定是骗人的,我只会在走这条路之前欺骗 DTO。