23

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

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

我在这里给出了输入:

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

并使用反序列化:

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

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

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

4

1 回答 1

52

正如错误试图告诉你的那样,.Net 值类型DateTime不能包含空值。

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

DateTime? StartDateFrom { get; set; }
于 2013-08-30T13:44:04.337 回答