在 PowerShell 中使用 GET 并将 JSON 导出到 CSV

Using GET in PowerShell & Exporting JSON to CSV

我正在使用以下 CURL 命令从 API:

read/fetch table 数据
curl -X GET \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer *myAccessToken*' \
    https://www.myWebsite.com/api/orders

这个command/API调用returns一个tableJSON格式。我需要用这个做两件事。

[1] 我需要在 powershell 中 运行 这个。我试过使用上面的代码,returns 一个一般的语法错误:

A parameter cannot be found that matches parameter name 'X'.

[2] 在 PowerShell 中,将 JSON 输出转换并保存为 CSV 文件

有什么想法吗?谢谢!

您可以使用 Invoke-RestMethod Cmdlet 发送 HTTP or HTTPS request to a RESTful web service.

$uri = "https://www.myWebsite.com/api/orders"
$headers = @{
    'Content-Type' = 'application/json'
    'Authorization' = 'Bearer <AccessToken>'
    'Accept'= 'application/json'
}
$response = Invoke-RestMethod -Uri $uri -Method GET -Headers $headers

PowerShell formats the response based to the data type。对于 JavaScript 对象表示法 (JSON) 或 XML,PowerShell 将内容转换或反序列化为 [PSCustomObject] 对象。因此,您可以 select 要导出的列并将其通过管道传输到 Export-Csv Cmdlet

$response | Select ColumnName1,ColumnName2 | Export-Csv -Path "filename.csv" -NoTypeInformation