powershell - 在 PowerShell 中使用 GET 并将 JSON 导出为 CSV
问题描述
我正在使用以下 CURL 命令从 API 读取/获取表数据:
curl -X GET \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer *myAccessToken*' \
https://www.myWebsite.com/api/orders
此命令/API 调用返回 JSON 格式的表。我需要做两件事。
[1] 我需要在 powershell 中运行它。我试过使用上面的代码,并返回一个一般的语法错误:
A parameter cannot be found that matches parameter name 'X'.
[2] 在 PowerShell 中,将 JSON 输出转换并保存为 CSV 文件
有任何想法吗?谢谢!
解决方案
您可以使用Invoke-RestMethod
Cmdlet 向 RESTful Web 服务发送HTTP 或 HTTPS 请求。
$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 根据数据类型格式化响应。对于 JavaScript 对象表示法 (JSON) 或 XML,PowerShell 将内容转换或反序列化为[PSCustomObject]
对象。因此,您可以选择要导出的列并将其通过管道传输到Export-Csv
Cmdlet
$response | Select ColumnName1,ColumnName2 | Export-Csv -Path "filename.csv" -NoTypeInformation
推荐阅读
- c# - Xamarin 管理未处理的异常
- asp.net - 为什么 Base64 字符串在 Message Box 中显示为空?
- python - 获取 dict 每个项目并在一行中获取一个新列表
- magnolia - 将 Magnolia 从企业版迁移到社区版
- chef-infra - 如何强制 Chef 的 yum_repository 资源使用“makecache fast”?
- kubernetes - 如何使用外部 DNS 创建 SRV 记录?
- javascript - 有没有办法以编程方式为 Firefox 请求自动播放?
- apache-kafka - 可以在不重新启动 KAFKA 客户端的情况下更改引导服务器吗?
- python - Django:在事件发生后下线帖子
- html - CSS
- 权
- 悬停丢失