PowerShell中的JSON数组

时间:2016-10-25 02:29:10

标签: arrays json powershell hashtable

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

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

我在PowerShell中的代码是:

{{1}}

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

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:1)

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

使用+ =符号将项目添加到列表非常简单。

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

就这么简单。