反序列化读取json数据 赋值给实体 读取本地文件

反序列化读取json数据 赋值给实体 读取本地文件

读取出本地的json数据 反序列化json实体类 ,或者从json中获取所需要的数据(字段)给实体,进行操作 这个时候就要进行反序列化json啦
这里呢,我是读取的本地文件我这儿是方便进行操作,当然你也可以从接口中获取json,

 

public ActionResult Action(CourseSearchInput input, string url, string body, string vehicleId, int vehicleIdClass)
        {
         
            string objectInfo;
            string path = $"D:/Filecompression/File/AUDIT_VEHOWEFEEQUERY_REQ_630201/AUDIT_VEHOWEFEEQUERY_RES_630201_20200330140932880.json";
            using (StreamReader reader = new StreamReader(path, Encoding.UTF8))
            {
                objectInfo = reader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
            }
            //调用JsonHelper 类的方法 解析json给实体类
            var listdown = WedModel.JsonHelper.DeserializeJsonToObject<WedModel.Audit_VehoweefeeQuery>(objectInfo);
            var Model = new VehoweeFeeQuery();
            var a = new List<WedModel.Audit_VehoweefeeQueryAuditResults>();
            //获取json数据里面的数据 找到匹配的元素  //反序列化 提取出所需要的数据
            foreach (var item in listdown.result)
            {
                Model.vehicleType = item.vehicleType;
                Model.OneoweFee = item.oweFee;
                Model.vehicleClass = item.vehicleClass;
                Model.vehicleId = vehicleId;
                Model.vehicleIdClass = vehicleIdClass;
                foreach (var i in item.escapeDetail)
                {
                 
                    Model.mediaType = i.mediaType;
                  
                    Model.passId = i.passId;
                
                    Model.oweFee = i.oweFee;
                 
                    Model.confirmedEscapeType = i.confirmedEscapeType;
                  
                    Model.realEnTime = i.realEnTime;
                   Model.realEnLaneId = i.realEnLaneId;
                   
                    Model.realExTime = i.realExTime;
                 
                    Model.realExLaneId = i.realExLaneId;
                   Model.paybackStatus = i.paybackStatus;
                  
                    Model.isStartDissent = i.isStartDissent;
                    };
                    foreach (var t in i.auditResults)
                    {
                      
                        Model.auditId = t.auditId;
                      
                        Model.processer = t.processer;
                      
                        Model.processTime = t.processTime;
                     
                        Model.TwooweFee = t.oweFee;
                   
                        Model.confirmedEscapeType = t.confirmedEscapeType;
                        foreach (var e in t.oweFeeDetail)
                        {
                            Model.transactionId = e.transactionId;
                            Model.tollIntervalId = e.tollIntervalId;
                            Model.TehroweFee = e.oweFee;
                            Model.actualFee = e.oweFee;
                            Model.actualFee = e.actualFee;
                        }
                    }
                };

 

            }
            return Json(Model, JsonRequestBehavior.AllowGet);
        }

 

posted @ 2020-04-23 16:23  @小手冰凉@  阅读(234)  评论(0)    收藏  举报