2013-08-30 4 views
8

Questo JsonSerializationException è stato gettato quando ho provato a inserire i seguenti parametri DateTime nella mia JSON:Errore che converte il valore {null} digitare 'System.DateTime' in ingresso JSON

"Errore di conversione di valore {null} a tipo 'System.DateTime' in json ingresso"

ho dato l'ingresso qui:

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

e deserialising utilizzando:

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

Il mio json è corretto, e ho anche provato ("") valori anziché null. Non sono riuscito a trovare una soluzione adeguata altrove. Grazie.

Se è necessaria una parte del codice, si prega di menzionarlo.

risposta

22

Come l'errore sta tentando di dirti, i tipi di valori .Net come DateTime non possono contenere valori nulli.

Se si desidera consentire i null, utilizzare i tipi nullable:

DateTime? StartDateFrom { get; set; } 
+0

io ora sono venuto a sapere su come base questo problema è stato! non avevo idea che usasse un valore nullo come questo. Sono molto nuovo ad esso. questo ha funzionato. Grazie –

+0

Se qualcuno ha una domanda sul motivo per cui DateTime non può essere nullo, la risposta può essere trovata qui: http://stackoverflow.com/questions/689512/why-is-null-not-allowed-for-datetime- a-c –

Problemi correlati