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

时间:2013-08-30 13:42:35

标签: c# json datetime null deserialization

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

  

“将值{null}转换为输入json”

中的'System.DateTime'类型时出错

我在这里给出了输入:

string inputJSONString = "{....,\"StartDateFrom\":null,\"StartDateTo\":null,\"EndDateFrom\":null,\"EndDateTo\":null,\....}";

使用以下方式进行反序列化:

scT = (SearchCriteriaTask)JsonConvert.DeserializeObject(inputJSONString , typeof(SearchCriteriaTask));

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

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

1 个答案:

答案 0 :(得分:30)

正如错误试图告诉您的那样,。DateTime之类的.Net值类型无法保存空值。

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

DateTime? StartDateFrom { get; set; }