Я пытаюсь десериализовать файл JSON, но по какой-то причине я просто не могу заставить его работать. Это правильный способ десериализации массива JSON в список.
Это данные JSON, которые я хотел бы десериализовать и поместить в объект курсовой работы
{
"assignments":[
{
"categoryname":"Exams",
"description":"Test covers C#, classes and other topics",
"name":"Exam 1"
},
{
"categoryname":"Exams",
"description":"Test covers collections and other topics",
"name":"Exam 2"
},
Используемый мной метод десериализации
List<T> ReadJsonFile1<T>(List<T> obj)
{
Console.Write("Enter Json File Name: ");
string fileName = Console.ReadLine();
FileStream reader = new FileStream(fileName, FileMode.Open, FileAccess.Read);
DataContractJsonSerializer deser;
deser = new DataContractJsonSerializer(typeof(List<T>));
obj = (List<T>)deser.ReadObject(reader);
reader.Close();
return obj;
}
Код, который я выполняю в Main
CourseWork cw = new CourseWork();
cw.Assignment = ReadJsonFile1<Assignment>(cw.Assignment);
CourseWork Class
public class CourseWork
{
private List<Assignment> assignments;
[DataMember(Name = "assignmentname")]
public List<Assignment> Assignment
{
get { return assignments; }
set { assignments = value; }
}
public CourseWork()
{
assignments = new List<Assignment>();
}
Класс назначения
private string name;
private string description;
private string categoryName;
//DataContract
[DataMember(Name = "name")]
public string Name
{
get { return name; }
set { name = value; }
}
//DataContract
[DataMember(Name = "description")]
public string Description
{
get { return description; }
set { description = value; }
}
//DataContract
[DataMember(Name = "categoryname")]
public string CategoryName
{
get { return categoryName; }
set { categoryName = value; }
}
public Assignment()
{
name = "defaut";
description = "defaut";
categoryName = "defaut";
}