如何在序列化json时忽略JsonProperty

如何在序列化json时忽略JsonProperty(PropertyName =“someName”)?

我有一些使用ASP.Net MVC的C#代码,它使用Json.Net来序列化一些DTO。为了减少有效负载,我使用[JsonProperty(PropertyName =“shortName”)]属性在序列化期间使用较短的属性名称。

当客户端是另一个.Net应用程序或服务时,这很有效,因为反序列化将对象层次结构放回到一起,使用更长的更友好的名称,同时保持实际的传输负载低。

当客户端通过浏览器javascript / ajax时,问题就出现了。它发出请求,并获取json ...但是json正在使用缩短的不太友好的名称。

如何让json.net序列化引擎以编程方式忽略[JsonProperty(PropertyName =“shortName”)]属性?理想情况下,我的MVC服务将在那里运行,通常使用缩短的属性名称进行序列化。当我的代码检测到特定参数时,我想使用较长的名称序列化数据并忽略[JsonProperty()]属性。

有什么建议?



宝慕林4294392
浏览 2340回答 3
3回答

拉风的咖菲猫

我很欣赏那里的评论。@evanmcdonnal:如果我们使用自定义序列化器,我们是否需要在特定于DTO的级别上执行此操作(附加到每个DTO?)我们通过许多开发团队在许多解决方案中分布了许多DTO。理想情况下,我们可以找到一种相对优雅的方式来连接到序列化过程,而无需通过所有DTO在整个板上触摸和维护这一点。
打开App,查看更多内容
随时随地看视频慕课网APP