当前位置:网站首页>使用C# 调用api接口获取法定节假日(百度api)
使用C# 调用api接口获取法定节假日(百度api)
2022-08-08 10:01:00 【饮水思源09】
百度接口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}");
}
}
}
}
}
边栏推荐
猜你喜欢
随机推荐
Bytes and Characters and Common Encodings
渗透测试-xss的三种类型讲解
Database Tuning: The Impact of Mysql Indexes on Group By Sorting
记一次生产内存溢出分析解决
SVN基本操作--文字解析版
「每周译Go」这次我们来点不一样的!--《How to Code in Go》系列上线
Code implementation of various kinds of attention
C# - var 关键字
hdu4635 Strongly connected(tarjan计算强连通通分量+缩点+思想)
【收藏】3. 壁纸收藏
数据可视化:随时间变化的效果图
中原银行实时风控体系建设实践
重载与重写有什么区别?
播放器的一些改进
图像分割 总结
各位大佬想问下, flinkcdc采集oracle我看了下延迟大概两分钟左右,想问下有啥解决方法吗
简单混合运算计算器
让百姓消费更安全更放心更满意 江苏出台放心消费创建示范认定管理办法
Mysql数据库架构介绍
Redis 定长队列的探索和实践









