Powershell 如何操作从Invoke RestMethod返回的数据
我正在尝试获取从invoke restmethod返回的数据表,并将其插入到数据库中。我很难选择特定的数据列 当我使用Invoke-rest方法时,我会以下面的格式返回数据 Col1、Col2、Col3、Col4Powershell 如何操作从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
数据、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