// 常用快递调用示例代码 - 聚合数据
// 在线接口文档:https://www.juhe.cn/docs/api/id/43
// 代码中JsonObject类下载地址:http://download.csdn.net/download/weixin_38668828/10220570
/// <summary>
///返回json格式的字符串 物流信息(可以查看最下面写的json返回实例)
/// </summary>
/// <returns></returns>
public static string deliveryInfos()
{
//常用快递查询API
string url1 = "http://v.juhe.cn/exp/index";
var parameters1 = new Dictionary<string, string>();
parameters1.Add("com", "sto"); //需要查询的快递公司编号
parameters1.Add("no", "335013057****"); //需要查询的订单号
parameters1.Add("key", "********************");//配置您申请的appkey
parameters1.Add("dtype", "json"); //返回数据的格式,xml或json,默认json
string result1 = sendPost(url1, parameters1, "get");//你所要得到的物流信息,格式为json字符串(可以查看最下写的json返回实例)
JsonObject newObj1 = new JsonObject(result1);//字符串转换为json对象
string errorCode1 = newObj1["error_code"].Value;//错误码,0表示查询正常,其他表示查询不到物流信息或发生了其他错误
if (errorCode1 == "0")
{
//newObj1["result"]["status"].Value这种写法视为了获取json对象值中的对象值(写的时候特别纠结newObj1["result"].Value获取不到值,最后猜想这个格式和newObj1["error_code"].Value的格式不一样,它是一个对象,抱着试一试的心态这样写newObj1["result"]["status"].Value,发现对了,皆大欢喜)
string status = newObj1["result"]["status"].Value;//1表示此快递单的物流信息不会发生变化,此时您可以存储下来,不用再调用接口(省钱,有钱任性的