2016-02-11 42 views
0

我想使用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) 
+4

可能是因爲DateTime不是可空類型?嘗試使用'DateTime?'作爲類型。 – Sam

+0

[DateTime「null」value]的可能重複(http://stackoverflow.com/questions/221732/datetime-null-value) – Gabe

+0

@Sam謝謝你爲我做的。太糟糕了XSD.exe不能使用DateTime?作爲默認類型。不知道我怎樣才能將您的評論標記爲答案,但是這對我來說確實如此。謝謝! –

回答

0

可能是因爲DateTime不是可空類型?嘗試使用DateTime?作爲類型。

+0

謝謝@Sam !!!! –

+0

@try_automation沒問題! – Sam