Select-объект для более глубоких данных JSON - PullRequest
0 голосов
/ 18 мая 2018

У меня возникли проблемы с выбором объекта с powershell.Я пытаюсь выбрать значение пароля из этого вывода, используя PowerShell.

Я попробовал это, и я не смог погрузиться глубже, чем это.Как глубже проникнуть в несколько полей?

Select-object -property id,@{Name= 'password'; Expression = {$_.items.itemValue}}

enter image description here

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Чтобы пойти дальше, я думаю, вам следует отфильтровать случаи, когда у вас действительно есть пароль для работы:

$obj = Get-Content -Path /conf.json -Raw | ConvertFrom-Json

$obj.Items | Where-Object { $_.fieldName -eq 'Password' } |
    Select-Object -Property @(
        @{
            N = 'Id'
            E = { $obj.Id }
        }
        @{
            N = 'Password'
            E = { $_.itemValue }
        }
    )
0 голосов
/ 18 мая 2018

Вы можете использовать комбинацию Get-Content, а также ConvertFrom-JSON для создания пользовательских объектов Powershell, а затем манипулировать этим, не беспокоясь о сложном поиске и замене текста.

$myobject = (Get-Content yourfile.json) -join '`n' | ConvertFrom-Json
$password = $myobject.items[2].itemValue

Один разу вас есть элемент, который вы хотите сохранить в переменной, которую вы хотите, с ней должно быть намного проще работать.

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