PowerShell ConvertFrom-Json忽略顶级数组?

时间:2019-05-10 15:36:19

标签: json powershell

我正在尝试使用ConvertFrom-Json解析JSON数组,但是如果PowerShell位于顶层,则PowerShell似乎会忽略它。

例如,这意外返回count = 1:

'[{a:1},{b:2}]' | ConvertFrom-Json | measure

但是当我将JSON数组放入对象中时,它似乎已按预期进行了解析。这将返回count = 2

('{list:[{a:1},{b:2}]}' | ConvertFrom-Json).list | measure

如果ConvertFrom-Json在JSON数组上不起作用,是否有其他选择?

1 个答案:

答案 0 :(得分:3)

'[{a:1},{b:2}]' | ConvertFrom-Json | measure

您要做的是测量管道返回的对象数。管道返回2个对象而不是2个对象的数组。

如果您想要数组中的事物数量,可以这样做:

('[{a:1},{b:2}]' | ConvertFrom-Json).Count

在第二个示例中,PowerShell正在展开列表以获取其中的项目(正常的PowerShell管道行为)。