【问题标题】:JSON Array in PowerShellPowerShell 中的 JSON 数组
【发布时间】:2017-03-06 22:34:27
【问题描述】:

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

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

我目前在 PowerShell 中的代码是:

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

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

【问题讨论】:

    标签: arrays json powershell hashtable


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢!这是一种享受。我还更新了脚本以使用您提到的 InputObject。再次感谢!
    【解决方案2】:

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

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

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

    就这么简单。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-13
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-14
    • 2020-01-03
    • 1970-01-01
    相关资源
    最近更新 更多