将值 null 转换为输入 json 中的“System.DateTime”时出错
Posted
技术标签:
【中文标题】将值 null 转换为输入 json 中的“System.DateTime”时出错【英文标题】:Error converting value null to type 'System.DateTime' in input json将值 null 转换为输入 json 中的“System.DateTime”时出错 【发布时间】:2013-09-03 06:30:48 【问题描述】:当我尝试在我的 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。 我无法在其他地方找到合适的解决方案。谢谢。
如果需要任何部分代码,请注明。
【问题讨论】:
【参考方案1】:正如错误试图告诉您的那样,.Net 值类型(如 DateTime
)不能包含空值。
如果要允许空值,请使用可空类型:
DateTime? StartDateFrom get; set;
【讨论】:
我现在已经知道这个问题有多基本了!我不知道它使用了这样的可空值。我对它很陌生。这行得通。谢谢 如果有人对 DateTime 为什么不能为空有疑问,可以在这里找到答案:***.com/questions/689512/…以上是关于将值 null 转换为输入 json 中的“System.DateTime”时出错的主要内容,如果未能解决你的问题,请参考以下文章
我无法解析应用程序中 JSON 的嵌套类中的 mag 以及地点和时间,它们都将值显示为 null