自定义反序列化:使用JsonConverter或Deserialize方法的自定义覆盖?

时间:2018-03-30 14:49:15

标签: c# json json.net

我的C#模型Person的属性不能很好地映射到我从RESTful请求获得的JSON。

C#型号:

class Person {
    public string First { get; set; }
    public string Last  { get; set; }
}

JSON响应:

{
    "customer_first_name": "foo",
    "customer_last_name": "bar"
}  

因此,当我将JSOn反序列化为Person模型/对象时,我需要将customer_first_name映射到First,依此类推(我是否正确?)。我应该使用JsonConverter来实现这一目标吗?或自定义覆盖Deserialize方法?或其他什么?

1 个答案:

答案 0 :(得分:1)

只需使用[JsonProperty]属性。

class Person {
    [JsonProperty(PropertyName = "customer_first_name")]
    public string First { get; set; }
    [JsonProperty(PropertyName = "customer_last_name")]
    public string Last  { get; set; }
}