我想使用JsonConvert.DeserializeObject来解析我从Web服务回来的JSON响应。我有服务的XSD架构文件,我通过.net转换器工具运行以创建一个类。除了下面的字段,其他一切都完美无缺。标题中出现错误。它只发生在Array的日期中,具有空返回值的单个日期完美无缺,并且由于打开了NullValueHandling.Ignore设置而被忽略。有谁知道我可以如何使用JSON.NET跳过数组中的这些空日期吗?提前致谢!错误转换价值{空}键入'System.DateTime'Json响应VB.NET
JSON响应: “TheDatesReturned”:[NULL,NULL,NULL,NULL,NULL,NULL],
Private TheDatesReturnedField() As Date
<System.Xml.Serialization.XmlElementAttribute("TheDatesReturned", DataType:="date")> _
Public Property TheDatesReturned() As Date()
Get
Return Me.TheDatesReturnedField
End Get
Set(value As Date())
Me.TheDatesReturnedField= value
End Set
End Property
注意:它更改为一个字符串数组修复它为好,但那么它们当我确实得到回应时,不再正确键入。
编辑:
如果任何人遇到这种并想知道如何得到XSD.EXE来为他们做。他们可以在XSD文件
<xsd:element maxOccurs="6" minOccurs="0" name="TheDatesReturned" type="xsd:date" nillable="true">
这增加的nillable =“真”到外地,然后将生成这个类,它应该把这个问题的关心。
Private TheDatesReturnedField() As System.Nullable(Of Date)
可能是因为DateTime不是可空类型?尝试使用'DateTime?'作为类型。 – Sam
[DateTime“null”value]的可能重复(http://stackoverflow.com/questions/221732/datetime-null-value) – Gabe
@Sam谢谢你为我做的。太糟糕了XSD.exe不能使用DateTime?作为默认类型。不知道我怎样才能将您的评论标记为答案,但是这对我来说确实如此。谢谢! –