我正在尝试将来自REST调用的结果(数据)转换为CSV文件。
我的代码是:
$results = Invoke-RestMethod -Method Get -Uri $url -Header $bearer -ContentType 'application/json'
$results
,然后返回:
data ---- {@{type=flight-offer; id=1559566119876--1838046263; offerItems=System.Object[]}, @{type=flight-offer; id=15595...
我想将每个offerItems对象的值放入CSV文件中。
答案 0 :(得分:4)
展开data
属性,然后将嵌套的对象导出为CSV:
$results |
Select-Object -Expand data |
Export-Csv 'C:\path\to\output.csv' -NoType
但是,由于您的数据对象显然包含一个数组(offerItems=System.Object[]
),因此您必须首先将该数组转换为字符串,例如像这样:
... |
Select-Object -Expand data |
Select-Object *,@{n='offerItems';e={$_.offerItems -join ','}} -Exclude offerItems |
...
合并操作可能会有所不同,具体取决于数组保存的数据类型。