为什么Json.NET不能在没有JsonConstructor属性的情况下反序列化结构?

时间:2016-02-25 00:21:01

标签: c# struct json.net

我有一个非常简单的结构。

Pair<double, double>

我们说我有{First:5.0,Second:10.0}个实例。序列化工作正常,我得到了预期的{0; 0}例如。

但每当我尝试反序列化时,我都会得到默认值JsonConstructor。当我将JsonConstructor属性添加到构造函数时,一切都按预期工作。

我原本以为Json.NET能够在如此简单的情况下按惯例找到构造函数,但似乎没有。如果还有其他方法,我想避免添加这个属性,因为这会在这个较低级别的util库中引入对Json.NET的依赖。

如果没有Tuple属性并且无需编写大量自定义值转换器代码,有没有办法正确执行此操作?

注1

我知道内置的Tuple类型,我也猜测这些类型是本机支持的。在这种情况下,我有一个较旧的代码库,使用这个结构很多,所以我目前无法使用Name

0 个答案:

没有答案