C # JSON toObject переключает день и месяц вокруг - PullRequest
0 голосов
/ 06 марта 2019

Я получаю отформатированную строку из серверной части, которая выглядит следующим образом: 2019-03-06T18: 06: 00

Я могу подтвердить это в отладке в первой строке моего включенного кода.

Когда выполняется вторая строка, результат: 03.06.2009 18: 06: 00

Проблема в том, что день и месяц переключаются.

Вот мой код:

Newtonsoft.Json.Linq.JArray jsonCars = assignmentsResult.cars;
List<CarsViewModel> assignments = jsonCars.ToObject<List<CarViewModel>>();

Свойство в CarViewModel имеет тип string.Я попытался DateTime, но это разрешилось в:

Newtonsoft.Json.JsonSerializationException: Ошибка при преобразовании значения {null} в тип 'System.DateTime'.Путь «автомобили [0] .создан».

Что я могу сделать по-другому?

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Если вы преобразуете 2019-03-06T18:06:00 в DateTime, вы можете затем преобразовать его в строку в любом формате, который вы хотите. Пример:

DateTime dt = Convert.ToDateTime("2019-03-06T18:06:00");
string correctFormat = dt.ToString("MM/dd/yyyy HH:mm");
Console.WriteLine(correctFormat);

Будет выводить:

03/06/2019 18:06

Так что было бы лучше использовать DateTime для хранения ваших значений, затем вы можете манипулировать ими, чтобы распечатать то, что вам нравится.

0 голосов
/ 06 марта 2019

В идеале вы должны использовать типы DateTime для значений даты.Я предполагаю, что проблема с сериализацией может заключаться в том, что для некоторых объектов массива значение forcreated может быть нулевым. Вы можете попробовать использовать обнуляемый Datetime (DateTime?) Вместо этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...