首页 > 解决方案 > JSON 数组 - Powershell

问题描述

我需要一个 JSON 数组字符串,如下所示:[{"a":"1","b":"2","c“:"3","d": "4"}]

如果我使用以下代码,我会得到{medik:[{"a":"1","b":"2","c“:"3","d": "4"}]}

$body = @{
   medik =  @(
        @{
            a = '1'
            b = '2'
            c = '3'
            d = '4'
        }
    )
}
$jsbody=$body|ConvertTo-Json -Compress;
$jsbody 

谁能帮我?提前致谢!

标签: arraysjsonpowershell

解决方案


在不使用管道的情况下尝试一下。

使用管道时,您一次将数组一个哈希表传递给 ConvertTo-Json。由于只有一个哈希表,因此它被视为单个哈希表而不是哈希表数组。

ConvertTo-Json @(@{a = '1'; b = '2'; c = '3'; d = '4'})

输出:

PS C:\tmp\overflow> $body = @(@{a = '1'; b = '2'; c = '3'; d = '4'})
>> ConvertTo-Json $body

[
  {
    "d": "4",
    "c": "3",
    "b": "2",
    "a": "1"
  }
]

推荐阅读