在 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
我正在使用以下 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