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

标签 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.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/

相关文章:

curl - Twilio 电话服务仅重试一次出站调用

通过C程序复制一个文件到HTTP Server

android - 如何使用 Gson 显示来自 JSON 的数据

javascript - 如何从由DiagramBuilder.toJSON()返回的JSON创建AlloyUIDiagramBuilder?

javascript - 在嵌套的 JSON 编码数组上循环

powershell - 从任务计划程序运行的 PowerShell 脚本中的 Msgbox 不起作用

java - 在 Keycloak 中创建新用户期间未分配客户端角色

javascript - 在表中排序 JSON 数据

sql - 如何在 Powershell 中使用 SQLCMD 将结果导出到 Excel

powershell - 本地语句输出与调用命令输出非常不同