Как настроить PowerShell для выбора свойства объекта (верхнего уровня или вложенного) на основе содержимого переменной?
У меня есть сценарий PowerShell, который считывает содержимое файла (JSON), преобразует егок объекту, а затем выбирает одно из свойств.Однако содержимое не согласовано, и расположение требуемого свойства в JSON может измениться.
Я хотел бы иметь возможность установить в сценарии параметр -PropertyPath
, который позволит пользователям передавать данныепуть к требуемому свойству внутри объекта.
Возьмем следующий пример, который позволяет выбрать свойство объекта на основе значения -PropertyPath
.Это работает, потому что свойство не является вложенным.
$PropertyPath= "myProperty"
$definition = (Get-Content -Path $definitionFilePath -Raw | ConvertFrom-Json).$PropertyPath
Теперь возьмем следующий неудачный пример, где свойство для получения вложено (и существует), которое завершается с ошибкой, но $definition
пусто -предположительно потому, что свойства с именем random.myProperty не существует.
$PropertyPath= "random.myProperty"
$definition = (Get-Content -Path $definitionFilePath -Raw | ConvertFrom-Json).$PropertyPath
Любая помощь приветствуется.