次のコードは、私にいくつかの出力が得られますが、私はPowerShellのConverFrom-JSONネストされた構文解析
{@{id=44068; uuid=959844e7-5bfc-45f9-9a87-54bc6384dbab; name=projects; createdAt=2016-10-06T20:33:05; createdBy=user1; lastUpdatedAt=2017-02-14T18:30:45; lastUpdatedBy=user2; projectId=; f...
を次のようにこれは出力を生成するprojectGroups
$uri = 'https://projects.brand.com/data/folder/8133'
wget $uri -UseDefaultCredentials |
ConvertFrom-JSON |
Select projectGroups
からわずかIDのリストを取得するために苦労しています
これまでのところ私はグーグルから集まってきましたが、私はprojectGroupsの下にid = #####のforeachリストを与えるためにコードの残りの部分をどのように構成するのかはわかりません。
私はその後、別のURLでこれらのprojectidsのそれぞれを取り、それらを使用する必要があるため https://projects.brand.com/data/project/export/projects-tasks?projectIds[]=<projectid1>
& projectIdsは[] =
<projectid2>
どのように私はprojectidsの配列を作成するか、上記のコードに追加できることを必要とする
projectsGroupからURLにforeachとして注入するか、URLに直接挿入するだけですか?
編集:私は答えのコードに基づいて
次:私に与えている
$pid = @()
$uri = "https://projects.brand.com/data/folder/"
$projectUri = $uri + "8133"
$aJsonObj = wget $projectUri -UseDefaultCredentials | ConvertFrom-JSON
$projectGroups = $aJsonObj.projectGroups
foreach ($id in $projectGroups.projectId) {
$nextProjectUri = $uri + $id
$anotherJsonObj = wget $nextProjectUri -UseDefaultCredentials | ConvertFrom-JSON
$pid = $pid + $id
}
Out-Host $pid
は、配列のための変数のエラーを上書きすることはできません。私はそのコードがどちらの場合でも、そのフォルダ内の各プロジェクトのIDを取得するつもりはないように感じる。私は思っていないforeachループ中にURIを変更すべきではありません。それは元のURIから各idをループして配列にプッシュするだけです。
編集2:
$uri = 'https://projects.brand.com/data/folder/8133'
$pid = @()
$projectids = wget $uri -UseDefaultCredentials |
ConvertFrom-JSON | Select projectGroups | select -Expand projectGroups | select id
Write-Host $projectids
foreach($id in $projectids) {
$pid += $id
}
Write-Host $pid
これは私のリストを与えるが、私はそれを行うときには、{ID = #####} @示します。これは、私が前のコードよりも必要なものに近いと感じます。 pidはまだ読み取り専用または一定のエラーをスローしています。
別の '| -Expand projectID'を選択しますか? –
プロジェクトの選択| -Expand projectGroups |を選択します。 idを選択する それは私にリストを与える、今私はちょうどそれを配列に配置する方法を理解する必要があります – Shenanigator