Задать вопрос
@Razraaab

Почему null в свойствах модели десериализации JSON?

Есть модель TaskModel:
public class TaskModel
    {
        public string? Name { get; set; }
        public string? Description { get; set; }
        public string? PublicTime { get; set; }
        public int Views { get; set; }
        public int Replies { get; set; }
    }

И вот такая команда, которая получит массив этих моделей из файла result.json:
private DefaultCommand? updateCardsCommand;
        public DefaultCommand UpdateCardsCommand
        {
            get
            {
                return updateCardsCommand ??
                    (updateCardsCommand = new DefaultCommand(
                        (object? arg) => true,
                        (object? arg) =>
                        {
                            try
                            {
                                using (FileStream fileStream = new FileStream("result.json", FileMode.OpenOrCreate))
                                {
                                    List<TaskModel>? models = JsonSerializer.Deserialize<List<TaskModel>>(fileStream);
                                    if (models != null)
                                        Tasks = models;
                                }
                            }
                            catch (JsonException ex)
                            {
                                MessageBox.Show(ex.Message);
                            }
                        }
                        ));
            }
        }

В моём json файле 25 таких обьектов, длина List составляет те же 25 обьектов, но проблема в том что они полностью пустые, все свойства содержат значения по дефолту. Вот мой result.json:
[
{ 
    Name: "бла бла бла",
    Description: "бла бла бла",
    PublicTime: "20:51",
    Views: "0",
    Replies: "0"
},
{
    Name: "бла бла бла",
    Description: "бла бла бла",
    PublicTime: "20:51",
    Views: "0",
    Replies: "0"
},
и т.д.
]
  • Вопрос задан
  • 204 просмотра
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@Voland69
У вас неверный json, должно быть так (ключи в кавычках, числовые и булевы значения без кавычек):
[
{ 
    "Name": "бла бла бла",
    "Description": "бла бла бла",
    "PublicTime": "20:51",
    "Views": 0,
    "Replies": 0
},
и т.д.
]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы