我正在尝试使用Powershell中的ConvertTo-JSON方法来创建JSON结果,但我得到的输出是无效的JSON。我的输出样本是:
{
"label": "$stockShortName"
}
{
"label": "$stockShortName"
}
这就是我所期待的:
[
{
"label": "$stockShortName"
},
{
"label": "$stockShortName"
}
]
这是我正在使用的代码:
#Write each message where there is a stockshortname
foreach ($row in $DataSet.Tables[0].Rows){
$stockShortName = $row[0].ToString().Trim()
(New-Object PSObject |
Add-Member -PassThru NoteProperty label '$stockShortName' ) | ConvertTo-JSON
}
答案 0 :(得分:1)
错误结果的原因是,您将单个对象传递给ConvertTo-Json而不是整个集合。如果你想使用foreach构造:
$(foreach ($row in $DataSet.Tables[0].Rows){
$stockShortName = $row[0].ToString().Trim()
(New-Object PSObject |
Add-Member -PassThru NoteProperty label '$stockShortName' )
}) | ConvertTo-JSON
请注意使用子表达式($(code)
) - 否则foreach不会写入管道。