200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > C# 调用百度api接口获取节假日

C# 调用百度api接口获取节假日

时间:2019-11-22 10:33:59

相关推荐

C# 调用百度api接口获取节假日

百度接口api:/8aQDcjqpAAV3otqbppnN2DJv/api.php?query={date}&resource_id=6018 --date为查询的日期(如:-9)

接口返回的部分参数类:

public class Calendar{public int status { get; set; }public List<CalendarData> data { get; set; }}public class CalendarData{//public Holiday holiday { get; set; }public List<Holiday> holiday { get; set; }}public class Holiday{public string desc { get; set; }public string festival { get; set; }public List<HolidayList> list { get; set; }public string name { get; set; }public string rest { get; set; }}public class HolidayList{public string date { get; set; }/// <summary>/// 1休息2上班/// </summary>public int status { get; set; }public string remark{get{return status == 1 ? "休假" : "上班";}}}public class Calendar2{public int status { get; set; }public List<CalendarData2> data { get; set; }}public class CalendarData2{public Holiday holiday { get; set; }}

View Code

获取节假日

private static void GetHoliday(string date){WebClient client = new WebClient();client.Encoding = Encoding.UTF8;var url = $"/8aQDcjqpAAV3otqbppnN2DJv/api.php?query={date}&resource_id=6018";var jsondata = client.DownloadString(url);try{var model = JsonConvert.DeserializeObject<Calendar>(jsondata);foreach (var item in model.data){foreach (var holiday in item.holiday){foreach (var day in holiday.list){Console.WriteLine($"日期:{day.date},{day.remark}");}}}}catch (Exception){var model = JsonConvert.DeserializeObject<Calendar2>(jsondata);foreach (var item in model.data){if (item.holiday != null && item.holiday.list != null){foreach (var day in item.holiday.list){Console.WriteLine($"日期:{day.date},{day.remark}");}}}}//JObject jobject = JObject.Parse(json);//var holiday = jobject["data"][0]["holiday"];//if (holiday != null && holiday.Children().Count() > 0)//{// foreach (dynamic item in holiday.Children().ToList())// {// foreach (dynamic day in item.list)// {// string remark = day.status == 1 ? "休假" : "上班";// Console.WriteLine($"日期:{day.date},{remark}");// }// }//}}

View Code

注意: 接口返回的参数中有些holiday 不一定全是集合

demo代码下载地址:demo

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。