JSON PowerShell 中的数组

JSON Array in PowerShell

我正在尝试在 PowerShell 中生成以下 JSON 字符串:

[
    {
        "FirstName": "Test",
        "LastName": "Account2"
    }
]

我目前在 PowerShell 中的代码是:

$Body = @{
    @{
        FirstName='Test'
        LastName='Account2'
     }
}

我得到的错误是:在哈希文字中的键后缺少“=”运算符。

外部 [] 是 JSON 中的一个列表,而您正在尝试使用 @{},它是 PowerShell 中的哈希表。在 PowerShell 中使用 @() 数组(列表):

$Body = @(
    @{
        FirstName='Test'
        LastName='Account2'
    }
)
ConvertTo-Json -InputObject $Body

(我使用 -InputObject 而不是管道,因为 PowerShell 痴迷于讨人喜欢的列表,否则会删除列表)。

我在向 Powershell 列表添加新项目时遇到了一些问题。我尝试使用 .add() 函数添加一个项目。这返回了错误 "Collection was of a fixed size."

通过使用 += 符号向列表中添加项目非常简单。

$Body += @{FirstName='Test2'; LastName='Account3'}

就这么简单。