当前位置:网站首页>使用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}");
}
}
}
}
}
边栏推荐
猜你喜欢
语音聊天app开发——对用户更具吸引力的设计
"Inversion of Control" and "Dependency Inversion", can't you tell the difference?
Excel中text函数5中常用方法
snmptrapd+snmptt接收告警并用py脚本发送
MySQL redo log和undo log
oracle中联表相关思考
Stanford Fall 21: Practical Machine Learning [Chapter 5]
22-08-06 西安 EasyExcel实现字典表导入、导出
继承关系下构造方法的访问特点:
记一次生产内存溢出分析解决
随机推荐
[ 深度学习 ] 课程学习(Curriculum Learning)
渗透测试-xss的三种类型讲解
docker部署redis容器问题
2022世界机器人大会即将举办,智能机器人助推传统行业向智能化、数字化转型升级
小程序使用formdata格式传参
【office】word
正确使用灯光 安全文明出行
开源一夏 | 牛plus,多层嵌套动态JSON该如何解析总结
实战项目:瑞吉外卖开发笔记
英文token预处理,用于将英文句子处理成单词
实战案例:用 PySpark ML 构建流失预测模型
面试突击72:输入URL之后会执行什么流程?
四、业务数据解析
Elasticseach实践1
「控制反转」和「依赖倒置」,傻傻分不清楚?
Open source summer | Three ways to implement search in Flutter
VMWare Esxi 虚拟系统数据存储扩容(增加容量)的简明教程
MySQL源码解析之执行计划
VPP源地址NAT
2万字50张图玩转Flink面试体系