Ошибка Select-Object null?

#powershell

#powershell

Вопрос:

Я пытаюсь выбрать поля «num» и «list» из следующего ответа сервера json:

 [{"num":"3-4-5-3-2","list":[]},{"num":"1-7-43-2-221","list":[]}]
  

Вот что я пробовал с помощью Select-Object команды:

 $content = [{"num":"3-4-5-3-2","list":[]},{"num":"1-7-43-2-221","list":[]}]
$stuff = $content | Select-Object num, list
  

Однако, когда я затем пытаюсь получить информацию из $stuff.num (вывести числовые значения, подсчитать, сколько существует экземпляров ‘num’ и т.д.), Я получаю сообщение об ошибке: You cannot call a method on a null-valued expression — ссылка на $stuff.num

Таким образом, похоже, что вызов Select-Object команды при наличии нескольких экземпляров указанного объекта приведет к тому, что указатель ( num ) будет равен нулю. Как я могу обойти эту ошибку, чтобы получить рабочий список / массив / что угодно из всех num экземпляров и их значений?

Ответ №1:

Вы пробовали использовать ConvertFrom-Json, а затем использовать Select-Object?

 $Stuff = $ServerResponse | ConvertFrom-Json | Select-Object num, list
$Stuff.num
  

Комментарии:

1. Какими должны быть ConvertFrom-Json параметры?

2. У него есть только 1 параметр: -InputObject который используется при передаче данных через него в моем примере. Не могу сказать, что я использовал его в качестве именованного параметра, но представьте, что он все равно будет работать.