Error converting value {null} to type 'System.DateTime' in input json

Atif Qadri picture Atif Qadri · Aug 30, 2013 · Viewed 27.4k times · Source

This JsonSerializationException was thrown when I tried to input the following DateTime parameters in my Json :

"Error converting value {null} to type 'System.DateTime' in input json"

I have given the input here :

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

and deserialising using :

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

My json is correct , and I have also tried ("") values instead of null. I was not able to find proper solution elsewhere. Thanks.

If any part of code is needed, then please mention it.

Answer

SLaks picture SLaks · Aug 30, 2013

As the error is trying to tell you, .Net value types like DateTime cannot hold nulls.

If you want to allow nulls, use nullable types:

DateTime? StartDateFrom { get; set; }