Ошибка при десериализации json файла в list - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. У меня проблема с десериализации. Вот таким способом я делаю:
Листинг программы
  1. var json = new DataContractJsonSerializer(typeof(List<Data.Models.Direction>));
  2. Stream fstream = new FileStream(path, FileMode.Open);
  3. var temp = (List<Data.Models.Direction>)json.ReadObject(fstream);
  4. fstream.Close();
  5. return temp;
Данные в json выглядят следующим образом:
Листинг программы
  1. {
  2. "NameOfDirection": "Хоккей",
  3. "Services": [
  4. {
  5. "NameService": "JSONУтро",
  6. "Duration": 2,
  7. "Cost": 20000
  8. },
  9. {
  10. "NameService": "JSONДень",
  11. "Duration": 2,
  12. "Cost": 30000
  13. },
  14. {
  15. "NameService": "JSONВечер",
  16. "Duration": 3,
  17. "Cost": 30000
  18. }
  19. ]
  20. }
Классы Direction и Services:
Листинг программы
  1. [DataContract]
  2. public class Direction
  3. {
  4. [DataMember]
  5. public string Id { get; set; }
  6. [DataMember]
  7. public string NameOfDirection { get; set; }
  8. [DataMember]
  9. public string Description { get; set; }
  10. [DataMember]
  11. public Service[] Services { get; set; }
  12. }
  13. [DataContract]
  14. public class Service
  15. {
  16. [DataMember]
  17. public string Id { get; set; }
  18. [DataMember]
  19. public string NameService { get; set; }
  20. [DataMember]
  21. public int Duration { get; set; }
  22. [DataMember]
  23. public int Cost { get; set; }
  24. }
Помогите пожалуйста, где ошибка.

Решение задачи: «Ошибка при десериализации json файла в list»

textual
Листинг программы
  1. var json = File.ReadAllText(path);
  2. var dir = JsonConvert.DeserializeObject<List<Data.Models.Direction>>(json);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.273 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут