PowerShell ConvertFrom-Json игнорирует массив верхнего уровня? - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь проанализировать массив JSON с ConvertFrom-Json, но кажется, что 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 Ответ

3 голосов
/ 10 мая 2019

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

Что вы сделали, это измерили количество объектов, возвращаемых конвейером.Конвейер возвращает массив из 2 объектов, а не 2 объектов.

, если вы хотите количество вещей в массиве, вы можете сделать это:

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

Сво втором примере PowerShell развертывает список, чтобы получить элементы внутри него (обычное поведение конвейера PowerShell).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...