Powershell 如何操作从Invoke RestMethod返回的数据

Powershell 如何操作从Invoke RestMethod返回的数据,powershell,csv,Powershell,Csv,我正在尝试获取从invoke restmethod返回的数据表,并将其插入到数据库中。我很难选择特定的数据列 当我使用Invoke-rest方法时,我会以下面的格式返回数据 Col1、Col2、Col3、Col4 数据、aaa、bbb、ccc 数据、ddd、eee、fff 数据,ggg,hhh,iii 但是,我不能使用Select或expandproperty仅获取特定行。下面的命令 $response = Invoke-RestMethod -Uri $URL -Method Get -Hea

我正在尝试获取从invoke restmethod返回的数据表,并将其插入到数据库中。我很难选择特定的数据列

当我使用Invoke-rest方法时,我会以下面的格式返回数据

Col1、Col2、Col3、Col4
数据、aaa、bbb、ccc
数据、ddd、eee、fff
数据,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、col4数据、aaa、bbb、cccdata、ddd、eee、fffdata、ggg、hhh、iii


感谢您的帮助。谢谢

要将包含CSV数据的文本转换为反映CSV数据行及其属性表示列值的自定义对象,请使用cmdlet。

然后,生成的对象可以与cmdlet一起使用,例如
选择对象
-用于提取感兴趣的属性-和
排序对象

下面是一个简化的示例:

# 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

如果调用RESTAPI调用,返回的数据可能是JSON格式的。您可以按如下方式进行转换:

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

这意味着
$jsonResponse
是:

{
    "FirstName" : "Tom",
    "LastName" : "Crooze"
}
转换为
newObject
时,它将如下所示:

FirstName      LastName
---------      --------
      Tom        Crooze

数据是否以JSON格式返回?您是否可以编辑您的问题以准确显示Invoke REST方法提供的格式?它应该返回JSON。请允许我给你给新来者的标准建议:如果一个答案解决了你的问题,请点击大复选标记接受它(✓) 在它旁边,也可以选择向上投票(向上投票需要15点或更多的声誉点数)。如果您发现其他答案有帮助,请向上投票。接受(为此您将获得2点声誉点数)和向上投票有助于未来的读者。有关更多信息,请参阅。如果您的问题尚未得到完全回答,请提供反馈或。虽然JSON作为响应格式很常见,但REST API并不局限于此,而且有些API确实返回
文本/csv
数据。
FirstName      LastName
---------      --------
      Tom        Crooze