2013-08-30 11 views
8

Ten JsonSerializationException został wyrzucony, gdy próbowałem wprowadzić następujące parametry DateTime w moim Json:Błąd wartość konwersji {null} wpisywać „System.DateTime” w wejściowym json

„Wartość błędu konwersji {null} do typ 'System.DateTime' w json wejściowego”

dałem wejście tutaj:

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

i deserialising używając:

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

Mój json jest poprawny, a ja próbowałem ("") wartości zamiast wartości zerowej. Nie udało mi się znaleźć odpowiedniego rozwiązania w innym miejscu. Dzięki.

Jeśli jakaś część kodu jest potrzebna, należy o tym wspomnieć.

Odpowiedz

22

Jako błąd próbuje ci powiedzieć, że typy wartości .Net, takie jak DateTime, nie mogą zawierać wartości null.

Jeśli chcesz zezwolić na wartości null, należy użyć zerowalne typy:

DateTime? StartDateFrom { get; set; } 
+0

Teraz poznali, jak podstawowy problem ten był! nie miałem pojęcia, że ​​użył takiego nullable'a. Jestem dla niego bardzo nowy. to działało. Dzięki –

+0

Jeśli ktoś ma pytanie, dlaczego DateTime nie może mieć wartości NULL, odpowiedź można znaleźć tutaj: http://stackoverflow.com/questions/689512/why-is-null-not-allowed- for-datetime- w-c –

Powiązane problemy