Зашел в тупик с десериализацией Json, подскажите, почему?
Делаю всё как по мануалу, онлайн сервисам и многочисленным описаниям, но результата пока нет.
Вот Json, который мне надо разобрать:
[
{
"id": 1211,
"minut": 15,
"dateTime": "2018-11-16T11:52:40.8417827"
}
]
Вот класс:
public class TimeIn
{
//https://app.quicktype.io/#r=json2csharp
//[JsonProperty("id")]
public int Id { get; set; }
//[JsonProperty("minut")]
public int Minut { get; set; }
//[JsonProperty("dateTime")]
public DateTimeOffset DateTime { get; set; }
}
Вот так десериализую ответ:
TimeIn time = (JsonConvert.DeserializeObject<TimeIn>(content));
А так пытаюсь увидеть значение:
System.Diagnostics.Debug.WriteLine("!!! " + time.Minut);
Было уже несколько вариантов кода, но результат один - при отладке, после десериализации, на следующую точку останова выполнение приложения не переходит.
Буду рад любому совету! Спасибо!
Вот рабочий код
TimeIn time = new TimeIn()
{
Id = 34,
Minut = 45,
DateTime = DateTime.Now
};
var json = JsonConvert.SerializeObject(new List<TimeIn>() {time});
Console.WriteLine($"json string \n {json}");
//выведет json строку [{"Id":34,"Minut":45,"DateTime":"2018-11-16T12:23:36.3927226+02:00"}]
// и обрантно
var col = JsonConvert.DeserializeObject<List<TimeIn>>(json);
// так как col коллекция
foreach (var t in col)
{
Console.WriteLine($"t.Minut {t.Minut}");
}
Console.ReadKey();
попробуйте добавить [Serializable] над вашим классом TimeIn
Andrey, используй силу аннотации:
[DataContract(Name = "TimeIn")] -для класса
[DataMember(Name = "minut")] - для полей
Виртуальный выделенный сервер (VDS) становится отличным выбором
У меня есть приложение, которое отображает таблицы из БДБаза данных находится в папке с проектом, соответственно, строка подключения выглядит...
Есть например ObservableCollection забиндена к ListBox ItemsSource и каждый ListBoxItem имеет свой шаблон и стиль с кнопочкой удаленияКогда пользователь нажимает...