Все по нулям при Десериализация JSON

181
08 января 2018, 07:50

Почему возвращает все по нулям? При десериализации

 var obj  = JsonConvert.DeserializeObject<List<Students>>(File.ReadAllText("students.json"));

Имеется класс студентов: class Students {

    public int idСтуденты { get; private set; }
    public string FIO { get; private set; }
    public string Course { get; private set; }
    public string specialty { get; private set; }
    public string Date_of_Birth { get; private set; }
    public string information_about_the_family { get; private set; }
    public string id_group { get; private set; }
    public string date_zach { get; private set; }
    public int id_facul { get; private set; }

все поля прописаны идентично

Вот что в самом Json файле , его сериализовал идентично

[
{"idСтуденты":1,
"FIO":"Иванов Иван Иванович",
"Course":"1",
"specialty":"техник",
"Date_of_Birth":"10.10.2010",
"information_about_the_family":"мама ,папа"
,"id_group":"1",
"date_zach":"10.10.2010",
"id_facul":1
  },
 {
"idСтуденты":2,
 "FIO":"Семен Семонович Семенов",
 "Course":"2",
"specialty":"програмист",
"Date_of_Birth":"10.11.2009",
"information_about_the_family":"папа",
"id_group":"2",
"date_zach":"10.11.2011",
 "id_facul":2
  }
  ]

Answer 1

Ваш Json не парсится, потому что у вас private set и парсер не может их задать. Замените на public set

Пример:

public int id_facul { get; set; }
Answer 2

Все логично. Сеттеры-то у вас приватные, вот и не могут установится значения. Сделайте их публичными.

READ ALSO