Newtonsoft解析Json文件

添加引用

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; }

        //考试场次Id
        public string RoundID { get; set; }

        //考试场次名称
        public string RoundName { get; set; }

        //考场房间Id
        public string RoomID { get; set; }

        //考试房间名称
        public string RoomName { get; set; }
        ....(不一一列举)
   }

调用和实现代码

  public JsonDictionaryInfo ReadJson(string jsonPath)
        {
        //找出文件夹下所有.json文件
            var files = from file in Directory.EnumerateFiles(jsonPath, "*.json", SearchOption.AllDirectories) 
                        select new
                        {
                            File = file
                        };
         //创建字典存入excel对象和json文件名
            Dictionary<string, Exam> jsonInfo = new Dictionary<string, Exam>();
            //遍历json文件
            foreach (var item in files)
            {
            	//写入文件流
                FileStream fs = new FileStream(item.File, FileMode.Open);
                //读取json文件
                using (StreamReader sr = new StreamReader(fs))
                {
                	//获取没有扩展名的json文件名
                    string fileName = Path.GetFileNameWithoutExtension(fs.Name);
                    //将文件流读取到字符串
                    string jsonStr = sr.ReadToEnd();
                    //将数据反序列化为Exam对象
                    Exam examModel = JsonConvert.DeserializeObject<Exam>(jsonStr);
                    //将文件名和对象加入字典
                    jsonInfo.Add(fileName, examModel);
                }
                fs.Close();
            }
            return new JsonDictionaryInfo(jsonInfo);
        }
       ```
       由上代码可知将json内容存入了字典中,如果要访问json中的属性,可直接遍历字典,
       字典的value是json反序列化之后的对象value.Exam.属性值即可访问。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

S 占占

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值