Получить значение узла из json в powershell - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть тело json в переменной powershell и я хочу получить из него значение.

Тело Json:

"value":  [
                  {
                      "id":  1,
                      "scope":  "3e93f9e6-f427-48e1-b37b-994d196e1121",
                      "name":  "Default",
                      "isHosted":  false,
                      "poolType":  "automation",
                      "size":  3
                  },
                  {
                      "id":  2,
                      "scope":  "3e93f9e6-f427-48e1-b37b-994d196e1121",
                      "name":  "Hosted",
                      "isHosted":  true,
                      "poolType":  "automation",
                      "size":  10
                  },
                  {
                      "id":  4,
                      "scope":  "3e93f9e6-f427-48e1-b37b-994d196e1121",
                      "name":  "Hosted VS2017",
                      "isHosted":  true,
                      "poolType":  "automation",
                      "size":  10
                  }]

Я хочу получить значение id, где name = Hosted VS2017, т.е. 4

powershell:

Write-Host "json body:" $projects
$id = $projects.value | where { $_.name -eq "Hosted VS2017" }
Write-Host "id :" $id

1 Ответ

1 голос
/ 04 апреля 2019

Вам нужно преобразовать JSON в объект powershell, прежде чем вы сможете работать с ним:

$projects = $projects | ConvertFrom-Json

Тогда вы можете получить доступ к его членам:

#requires -Version 3

$projects.value | ? name -eq 'Hosted VS2017'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...