我需要调用一个 API(从我的 DNS 提供商那里获取记录列表),这可以使用 curl 来完成。这将返回带有我所有记录的格式化 json
curl -H 'Authorization: Bearer mytoken' -H 'Accept: application/json' https://api.dnsimple.com/v2/12345/zones/example.com/records
但是,我需要能够从 PowerShell 执行此操作
$uri = "https://api.dnsimple.com/v2/12345/zones/example.com/records"
$headers = @{}
$headers["Authorization"] = "Bearer mytoken"
$headers["Accept"] = "application/json"
$foo = Invoke-WebRequest $uri -Headers $headers
此命令运行,但我可以在 $foo 的哪个位置访问返回的 JSON?
最佳答案
使用 Invoke-WebRequest
,您将访问 Content 属性:$foo.Content
请注意,您还可以使用 Invoke-RestMethod
,它会自动将 JSON 响应转换为 PowerShell 对象。
所以这样:
$o = Invoke-RestMethod #params
将与此相同:
$foo = Invoke-WebRequest #params
$o = $foo.Content | ConvertFrom-Json
关于json - 如何通过调用 Invoke-WebRequest 访问 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41708642/