【发布时间】:2021-02-05 17:02:24
【问题描述】:
我有一个表示反序列化 C# 有效负载的 C# 类型。但它由 System.Text.Json 在一个地方反序列化。在另一个地方,它是 Json.NET。
所以现在,我必须同时使用 [JsonProperty](对于 JSON.NET)和 [JsonPropertyName](对于 System.Text.Json)来赋予属性。
有没有办法告诉 JSON.NET 识别 JsonPropertyName 属性,这样我就不必对每个属性进行两次注释?
【问题讨论】:
-
JsonPropertyAttribute可以指示很多东西,而不仅仅是属性名称:顺序、所需标志等。因此您可能需要重新实现它的各个方面。如果你只用它来表示属性名,你可以实现自己的自定义Contract Resolver -
@thepirat000 问题是另一种方式 - OP 希望 JSON.NET 处理
JsonPropertyNameAttribute,它只处理名称。 -
哦,你是对的,对不起。所以自定义合同解析器应该可以工作。
标签: c# json .net json.net system.text.json