添加引用
using Newtonsoft.Json;
Exam类
public class Exam
{
public string Number { get; set; }
public string Name { get; set; }
public string LanguageCode { get; set; }
public string Subject { get; set; }
public string Seat { get; set; }
public string RoundID { get; set; }
public string RoundName { get; set; }
public string RoomID { get; set; }
public string RoomName { get; set; }
....(不一一列举)
}
调用和实现代码
public JsonDictionaryInfo ReadJson(string jsonPath)
{
var files = from file in Directory.EnumerateFiles(jsonPath, "*.json", SearchOption.AllDirectories)
select new
{
File = file
};
Dictionary<string, Exam> jsonInfo = new Dictionary<string, Exam>();
foreach (var item in files)
{
FileStream fs = new FileStream(item.File, FileMode.Open);
using (StreamReader sr = new StreamReader(fs))
{
string fileName = Path.GetFileNameWithoutExtension(fs.Name);
string jsonStr = sr.ReadToEnd();
Exam examModel = JsonConvert.DeserializeObject<Exam>(jsonStr);
jsonInfo.Add(fileName, examModel);
}
fs.Close();
}
return new JsonDictionaryInfo(jsonInfo);
}
```
由上代码可知将json内容存入了字典中,如果要访问json中的属性,可直接遍历字典,
字典的value是json反序列化之后的对象value.Exam.属性值即可访问。