我有以下JSON
{
"students":
[{
"firstName":"first",
"middleName":"middle",
"lastName":"last",
"studentId":"123-123-123",
"joiningBatch":{"semesterName":"Fall2017"},
"semesters":[],
"courses":[],
"department":1,
"degree":1
}]
}
我创建了一个学生类,并设置了所有属性,名称和id都有一个固定格式,我使用正则表达式强制执行。连接批处理包含另一个自定义类Semester,其中只有一个变量。部门和学位都是枚举, 我将数据写入json文件,但是当我尝试反序列化它并放入List时,我得到错误,我的正则表达式检查失败。我可以看到数据在类中,但它无法反序列化,我完全迷失了,因为我是C#的初学者。搜索了很多,但没有一个解决方案适合我。
public string jsonData = File.ReadAllText("data.json");
public List<Student> studentList = JsonConvert.DeserializeObject<List<Student>>(jsonData)
?? new List<Student>();
这是我为从文件中获取数据并反序列化而编写的代码。任何线索都欢迎我在这里做错了。
P.S。部门和学位,正在正确读取int值,所以我认为正在读取数据,但字符串值导致问题,我可能是错的。我的目的是从文件中读取json数据,对其进行反序列化,生成一个Student对象列表,因为我序列化了一个Student对象列表并将它们写入文件。
更新:我将我的json更改为以下格式
[{"_firstName":"q","_middleName":"q","_lastName":"q","_studentId":"123-123-123","_joiningBatch":{"_semesterName":"Fall2017"},"_semesters":[],"_courses":[],"_department":1,"_degree":1}]
再次它不起作用,我尝试了问题中提到的解决方案,该解决方案被标记为此问题的副本,但也失败了。