C#接⼝请求返回值的⼏种实现⽅式(最详细)
weight的几种形式第⼀种:
定义⼀个字典,存储字段值:
Dictionary<string,string> dic = new Dictionary<string, string>();
根据需求⽂档的值,将相关字段存⼊字典:
dic.Add("rdcId", config.kxApp_key);
dic.Add("barcode", barcode);
dic.Add("action", "INLAND_OPT_WEIGH_VOLUME");
dic.Add("checkWeight", (Weight * 1000).ToString());
dic.Add("deviceId", config.ClientId);
序列化,序列化前⾯⼀定要定义var或者object类型,别问我为什么强调:
var data_message = JsonConvert.SerializeObject(dic);
发送请求,获取返回值,这⾥是封装好了的ajax请求,不会的百度,调⽤⼀下就⾏了:
var result = HttpHelper.GetResponseString(HttpHelper.CreatePostHttpResponse(url, dic, 0, null));
反序列化:
var les = JsonHelper.JSONToObject<ResultCode>(result);//ResultCode:封装的返回值
判断
if(les.success==true){
Console.Weite(“成功!”);
}
else{
Console.Weite(“失败!”);
}
提前封装好的返回值:
public class ResultCode
{
/// <summary>
/// 是否成功
/// </summary>
public bool success { get; set; }
/// <summary>
/// 成功,100
/// 报⽂错误,200
/
// </summary>
public string code { get; set; }
}
第⼆种与第⼀种,就前⾯部分不⼀样,不⽤存⼊字典,直接:
var data = new
{
rdcId = config.kxApp_key,
barcode = code,
action = "INLAND_OPT_WEIGH_VOLUME",
checkWeight = weight * 1000,
checkLength = (int)length,
checkWidth = (int)width,
checkHeight =(int) height,
checkVolume = (int)(volume/1000),
carlabel = config.CarLabel,
deviceId = config.ClientId,
version = "1.0.0",
timestamp = long.Parse(timestamp),
decryptType = "MD5"
};
然后序列化,发送请求,获取返回值,反序列化,判断即可。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论