本文共 1679 字,大约阅读时间需要 5 分钟。
百度接口api:https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query={date}&resource_id=6018
一、接口返回的参数类
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; } }二、获取节假日方法
private static void GetHoliday(string date)
{ WebClient client = new WebClient(); client.Encoding = Encoding.UTF8; var url = $"https://sp0.baidu.com/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}"); } } } } }转载地址:http://ukzt.baihongyu.com/