如何在反序列化时使用 C# 中的 Json.Net 将名称重新映射到对象属性

本文关键字:新映射 映射 属性 对象 反序列化 Net Json 中的 | 更新日期: 2023-09-27 18:34:08

>Case:我从第三方服务器收到一个 JSON 字符串,其中包含对象列表。例如 [{"foo": "bar", "someotherfield": "somevalue"}, {etc}, {etc}]

我有一个 C# 类,如下所示,

public class MyObject
{
    public string A { get; set; }
    public string B { get; set; }
}

现在,我想使用 JsonConvert.DeserializeObject ,但以便它将"foo"映射到 A 等等。我将如何做到这一点?

如何在反序列化时使用 C# 中的 Json.Net 将名称重新映射到对象属性

您可以使用

JsonProperty属性。

[JsonProperty("foo")]
public string A { get; set; }
可以使用

属性上修饰的JsonPropertyAttribute,为其提供应在 JSON 消息中找到的参数的名称。如果您不希望使用属性,也可以使用自定义 JsonConverter。