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

时间:2012-05-14 09:07:58

标签: c# json.net

案例: 我从第三方服务器收到一个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等等。我该怎么做呢?

2 个答案:

答案 0 :(得分:6)

您可以使用JsonProperty属性。

[JsonProperty("foo")]
public string A { get; set; }

答案 1 :(得分:1)

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