Использование MS PowerShell ISE для запроса данных JSON - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть текстовый файл, содержащий данные json, и он выглядит так:

{ 
  "field1":"value1",
  "field2": [
      { 
         "subfield1": "subvalue",
         "subfield2": []
      },
      { 
         "subfield1": "subvalue2",
         "subfield2": [ "string1", "string2", "...", "stringN" ]
      }
  ]
}

Я хочу получить количество объектов, содержащихся в field2, где подполе2 пусто.

Я пыталсятаким образом можно получить все объекты, где подполе2 пусто:

$datas = Get-Content -Path .\data
$json = $datas | ConvertFrom-Json
$json.field2 | Select-Object subfield2 | where subfield2 -Match ".*\[\].*"

Выполнение этого результата не приводит к выводу.Использование -EQ или -Like также не работает.

1 Ответ

0 голосов
/ 14 декабря 2018

Возможно много других способов.Это один.

@($json.field2 | Where-Object {$($_.subfield2) -eq $null}).Count

Сделать $_.subfield2 строкой с $($_.subfield2).Проверьте строку на $ null.

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