Как получить результаты данных из Invoke-RestMethod в файл CSV? - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь получить результаты (данные) из 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.

1 Ответ

4 голосов
/ 03 июня 2019

Разверните свойство 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 |
    ...

Операция объединения может отличаться в зависимости от того, какие данные хранит массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...