将值{null}转换为输入json中的'System.DateTime'类型时出错

Ati*_*dri 14 c# null datetime json deserialization

当我尝试在Json中输入以下DateTime参数时抛出了这个JsonSerializationException:

"将值{null}转换为在输入json中键入'System.DateTime'时出错"

我在这里给出了输入:

string inputJSONString = "{....,\"StartDateFrom\":null,\"StartDateTo\":null,\"EndDateFrom\":null,\"EndDateTo\":null,\....}";
Run Code Online (Sandbox Code Playgroud)

和反序列化使用:

scT = (SearchCriteriaTask)JsonConvert.DeserializeObject(inputJSONString , typeof(SearchCriteriaTask));
Run Code Online (Sandbox Code Playgroud)

我的json是正确的,我也试过("")值而不是null.我无法在其他地方找到合适的解决方案.谢谢.

如果需要任何代码部分,请提及.

SLa*_*aks 37

正如错误试图告诉你的那样.Net值类型就像DateTime无法保存空值一样.

如果要允许空值,请使用可空类型:

DateTime? StartDateFrom { get; set; }
Run Code Online (Sandbox Code Playgroud)

  • 我现在才知道这个问题有多基本!我不知道它使用了这样的可空值。我对此很陌生。这有效。谢谢 (2认同)