PowerShell ConvertTo-Json无法按预期转换数组

时间:2018-11-30 18:25:54

标签: arrays json powershell

我正在尝试处理具有嵌套数组的JSON对象。以下PowerShell命令:

@{testArray=@(1,2)} | ConvertTo-Json -Compress
@{testArray=@(@{prop1=1})} | ConvertTo-Json -Compress
@{testArray=@(@{prop1=@(1,2)})} | ConvertTo-Json -Compress

产生以下输出:

{"testArray":[1,2]}
{"testArray":[{"prop1":1}]}
{"testArray":[{"prop1":"1 2"}]}

前两个可以达到我的期望,但最后一个却不。我期望输出:

{"testArray":[{"prop1":[1,2]}]}

我在这里想念什么?使用PowerShell 5.1

1 个答案:

答案 0 :(得分:3)

您需要为ConvertTo-Json指定深度

 @{testArray=@(@{prop1=@(1,2)})} | ConvertTo-Json -Depth 3 -Compress

会返回

{"testArray":[{"prop1":[1,2]}]}