Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提取Powershell中数组的最后一行_Powershell_Api - Fatal编程技术网

提取Powershell中数组的最后一行

提取Powershell中数组的最后一行,powershell,api,Powershell,Api,我正在使用Powershell通过API提取数据。出于某种原因,输出提供了多行数据,但是我只对最后一行感兴趣 如何修剪或过滤数组,使其仅显示行,例如{“preview”:false… 在得到最后一行之后,我将使用convertfromjson将其转换为哈希表 任何建议都将不胜感激 $output {"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1152091","TotalUnsuccessful":"137

我正在使用Powershell通过API提取数据。出于某种原因,输出提供了多行数据,但是我只对最后一行感兴趣

如何修剪或过滤数组,使其仅显示行,例如
{“preview”:false…

在得到最后一行之后,我将使用convertfromjson将其转换为哈希表

任何建议都将不胜感激

$output
{"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1152091","TotalUnsuccessful":"13759","Total":"1165850","Unsuccessful%":"6.80"}}
{"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1204330","TotalUnsuccessful":"14265","Total":"1218595","Unsuccessful%":"6.76"}}
{"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1233151","TotalUnsuccessful":"14500","Total":"1247651","Unsuccessful%":"6.75"}}
{"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1249102","TotalUnsuccessful":"14714","Total":"1263816","Unsuccessful%":"6.76"}}
{"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1262812","TotalUnsuccessful":"14794","Total":"1277606","Unsuccessful%":"6.73"}}
{"preview":false,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1271004","TotalUnsuccessful":"14873","Total":"1285877","Unsuccessful%":"6.73"}}

多个选项,假设
$output
是一个数组或类似的可枚举集合:

# using `Select-Object`:
$output |Select -Last1

# using array index
$output[$output.Length - 1]

# using negative array index
$output[-1]

# iterate over collection until you reach the end:
$last = $null
foreach($item in $output){
    $last = $item
}
如果
$output
是多行字符串,请首先使用
-split
正则表达式在换行符上进行拆分:

$output -split '\r?\n' |Select -Last 1

1,2,3 |选择-Last 1
。感谢您的回复。这些似乎只是提取字符,而不是rows@Cyclemonkey更新了答案,请查看最后一个示例这似乎也没有拆分出来。@Cyclemonkey then
$output
不是包含多行的字符串:)您是如何在第一个示例中获取/创建变量的place?啊!我运行了以下程序,它通过API提取JSON…$output=Invoke RestMethod-Method Post-Uri$url-Credential$cred-Body$Body