#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
который используется при передаче данных через него в моем примере. Не могу сказать, что я использовал его в качестве именованного параметра, но представьте, что он все равно будет работать.