Как манипулировать данными, возвращаемыми из Invoke-RestMethod - PullRequest
0 голосов
/ 27 октября 2018

Я пытаюсь взять таблицу данных, полученных из invoke-restmethod, и вставить ее в базу данных.Я борюсь с возможностью выбора определенных столбцов данных.

Когда я использую метод Invoke-RestMethod, я получаю данные, возвращаемые в следующем формате.

Col1, Col2, Col3, Col4данные, ааа, ГЭБ, сссданные, ддд, эээ, FFFdata, ggg, hhh, iii

Однако я не могу использовать свойство Select или expandproperty для захвата только определенных строк.То есть приведенные ниже команды.

$response = Invoke-RestMethod -Uri $URL -Method Get -Headers $headers 
$response | Select col1, col2 | Sort-Object -property col2 -Descending

Я также попытался удалить данные, однако похоже, что они объединяются в одну строку.

Col1, Col2, Col3, Col4data, aaa, bbb, cccdata, ddd, eee, fffdata, ggg, hhh, iii

Любая помощь приветствуется.Спасибо!

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

Если вы вызываете вызов REST API, возвращаемые данные могут быть в формате JSON. Вы можете конвертировать его следующим образом:

$jsonResponse = Inovke-RestMethod -Uri $uri -Method Get -Headers $headers
$newObject = $jsonResponse | ConvertFrom-Json

-или

$newObject = $Invoke-RestMethod -Uri $uri -Method Get -Headers $headers | ConvertFrom-Json

Это значит, $jsonResponse это:

{
    "FirstName" : "Tom",
    "LastName" : "Crooze"
}

Преобразование в newObject это будет выглядеть так:

FirstName      LastName
---------      --------
      Tom        Crooze
0 голосов
/ 27 октября 2018

Чтобы преобразовать текст, содержащий данные CSV, в пользовательские объекты (типа [pscustomobject]), которые отражают строки данных CSV и чьи свойства представляют значения столбцов, использует ConvertFrom-Csv командлет.

Полученные объекты затем можно использовать с такими командлетами, как Select-Object - для извлечения интересующих свойств - и Sort-Object.

Вот упрощенный пример:

# Simulate the outcome of your Invoke-RestMethod call with a here-string:
$response = @'
Col1,Col2,Col3,Col4
data,aaa,bbb,ccc
data,ddd,eee,fff
data,ggg,hhh,iii
'@

$response | ConvertFrom-Csv | Select-Object Col1, Col2 | Sort-Object Col2 -Descending

Выше приведены 3 [pscustomobject] экземпляра, отсортированные в порядке убывания по их значениям .Col2:

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