反序列化读取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);
}