我有以下PowerShell脚本输出:
{
"parameter": "p1",
"device": "d1",
"assignee": "me"
}
{
"Name": "N",
"device": "d4"
}
{
"alart": "C1"
}
我只想拿到第一套:
{
"parameter": "p1",
"device": "d1",
"assignee": "me"
}
我尝试了ConvertTo-Json,但它没有按预期工作。
注意:每一组的长度每次都可以不同,所以我不能硬编码选择的行数。
$output[0..3]
以上代码在我的情况下不起作用
1条答案
按热度按时间h9vpoimq1#
一个简单的方法是使用
switch
语句收集脚本的输出行(您声明脚本 * 逐行 * 发出其输出),直到遇到第一个 * 空 * 行。如果还需要检测 * 空白 *,即 * 全空白 * 行:
如果JSON对象 * 和 * 之间没有空行,则可以使用
}
* 在其自己的行 * 上关闭第一个对象:最后,可以反复尝试将收集到的行解析为JSON,并在解析成功后停止处理;请注意,此解决方案返回一个 object,表示第一个JSON对象,与
ConvertFrom-Json
返回的一样: