Если мы предположим, что $json
содержит ваш JSON контент, вы можете сделать следующий уродливый код:
$environment = 'staging'
$j = $json | ConvertFrom-Json
($j.environments | where name -eq $environment).variables | Foreach-Object {
$CurrentObject = $_
$CurrentObject | Get-Member -MemberType NoteProperty |
Select-Object -Expand Name | Foreach-Object {
$CurrentObject.$_.value
}
}
Похоже, ваша проблема в том, что вы не знаете, какие переменные будут содержаться в вашем JSON. Таким образом, вы не можете легко использовать Select-Object variable
или $object.variable
. Вам нужен динамический c подход.
Если вы заранее знаете свои переменные, все становится проще. Вы можете хранить имена переменных в массиве и l oop поверх них.
$variables = 'Second_Staging','Staging','third_staging'
$environment = 'staging'
$j = $json | ConvertFrom-Json
$jsonVars = ($j.environments | where name -eq $environment).variables
$variables | Foreach-Object {
$jsonVars.$_.value
}