如何通过调用Invoke WebRequest访问JSON?

如何通过调用Invoke WebRequest访问JSON?,json,powershell,curl,Json,Powershell,Curl,我需要调用一个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.co

我需要调用一个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吗?

使用
调用WebRequest
,可以访问内容属性:
$foo.Content

请注意,您还可以使用
调用RestMethod
,它会自动将JSON响应转换为PowerShell对象

因此:

$o = Invoke-RestMethod #params
与此相同:

$foo = Invoke-WebRequest #params
$o = $foo.Content | ConvertFrom-Json