在 powershell 函数中调用 Rest API
Call Rest API inside powershell function
我已经使用 powershell 函数调用了 Rest API,但我需要从所有对象(如英格兰和威尔士、苏格兰、北爱尔兰)获取日期条目。使用此 $list.'england-and-wales'.events.date 我将仅获得英格兰和威尔士的详细信息,但我无法获取剩余的苏格兰、北爱尔兰日期
function Get-Holiday {
Invoke-RestMethod -Method Get -Uri https://www.gov.uk/bank-holidays.json
}
$list = Get-Holiday
$list | ConvertTo-Json -Depth 3
$list.'england-and-wales'.events.date
我需要从所有英格兰和威尔士、苏格兰、北爱尔兰获取日期条目。你能提供解决方案吗
示例图片
如果您想合并所有三个数据集中的日期,您可以这样做:
# define divisions
$divisions = 'england-and-wales', 'scotland', 'northern-ireland'
# fetch data
$list = Invoke-RestMethod -Method Get -Uri https://www.gov.uk/bank-holidays.json
# enumerate dates for all divisions, remove duplicates and assign to a variable
$allPossibleHolidayDates = $divisions |%{ $list.$_.events.date} |Sort -Unique
此时您可以通过以下方式确定某个日期是否为节假日:
# Get a string representing todays date formatted like "2020-11-18"
$todaysDate = Get-Date -Format 'yyyy-MM-dd'
# this will now return $true if today is a holiday in any of the divisions
$allPossibleHolidayDates -contains $todaysDate
我已经使用 powershell 函数调用了 Rest API,但我需要从所有对象(如英格兰和威尔士、苏格兰、北爱尔兰)获取日期条目。使用此 $list.'england-and-wales'.events.date 我将仅获得英格兰和威尔士的详细信息,但我无法获取剩余的苏格兰、北爱尔兰日期
function Get-Holiday {
Invoke-RestMethod -Method Get -Uri https://www.gov.uk/bank-holidays.json
}
$list = Get-Holiday
$list | ConvertTo-Json -Depth 3
$list.'england-and-wales'.events.date
我需要从所有英格兰和威尔士、苏格兰、北爱尔兰获取日期条目。你能提供解决方案吗
示例图片
如果您想合并所有三个数据集中的日期,您可以这样做:
# define divisions
$divisions = 'england-and-wales', 'scotland', 'northern-ireland'
# fetch data
$list = Invoke-RestMethod -Method Get -Uri https://www.gov.uk/bank-holidays.json
# enumerate dates for all divisions, remove duplicates and assign to a variable
$allPossibleHolidayDates = $divisions |%{ $list.$_.events.date} |Sort -Unique
此时您可以通过以下方式确定某个日期是否为节假日:
# Get a string representing todays date formatted like "2020-11-18"
$todaysDate = Get-Date -Format 'yyyy-MM-dd'
# this will now return $true if today is a holiday in any of the divisions
$allPossibleHolidayDates -contains $todaysDate