在 powershell 函数中调用 API

Call API inside powershell function

如何在函数内部调用 API。这是我的 url https://www.gov.uk/bank-holidays.json。我是 Powershell 的新手,你能帮我做这个吗?

function Holiday {
 
   $list = Invoke-RestMethod -Method Get -Uri https://www.gov.uk/bank-holidays.json
   Write-Host "$list"

}

但我无法列出。你能帮我吗

Invoke-RestMethod 自动将 API 的 JSON 响应解析为对象 [graph] - 嵌套的 [pscustomobject] 实例。

虽然对于后续的OO处理非常方便,但是这样的对象显示表示却不是很有帮助。

您可以简单地将 转换回 JSON 以便可视化结果:

function Get-Holiday {
 
  # Call the API, which returns JSON that is parsed into a [pscustomobject]
  # graph, and return (output) the result.
  Invoke-RestMethod -Method Get -Uri https://www.gov.uk/bank-holidays.json

}

$list = Get-Holiday

# Visualize the object for display by converting it back to JSON.
$list | ConvertTo-Json -Depth 3

请注意,不幸的是需要明确指定 -Depth 3 - 请参阅

关于 处理,这是一个访问英格兰和威尔士第一个条目的示例:

$list.'england-and-wales'.events[0]

以上结果:

title          date       notes bunting
-----          ----       ----- -------
New Year’s Day 2015-01-01          True