反序列化时,Newtonsoft.Json不会调用构造函数?

时间:2018-02-03 01:37:47

标签: c# json.net

我有以下课程:

public class Configuration
{
    public Color ErrorColor { get; set; }
    // other things
}

Color结构在我正在使用的库中定义:

public struct Color
{
    public Color(uint rawValue) { /* ... */ }
    // other things
}

如果我试图去除以下数据:

{
    "ErrorColor": 16711680
}

使用以下代码:

var config = JsonConvert.DeserializeObject<Configuration>(data);

抛出此异常:

  

Newtonsoft.Json.JsonSerializationException:'将值16711680转换为'Discord.Color'类型时出错。

如何在反序列化时让Newtonsoft调用此类型的构造函数?我知道你可以自定义JsonConverter,但我只需要一个属性,而不是所有属性。

0 个答案:

没有答案