2017-05-31 73 views
2

我在PowerShell中有一個工作循環,它將從JSON對象中刪除子成員(如果存在)。不過,我相信有一個更乾淨的方法來做到這一點。你知不知道怎麼?什麼是刪除PowerShell JSON對象的子成員的更好方法

for ($i = 0; $i -lt $destinationReleaseDefinitionJSON.environments.Count; $i++) { 
    $destinationReleaseDefinitionJSON.environments[$i] = $destinationReleaseDefinitionJSON.environments[$i] | Select-Object * -ExcludeProperty queueId 
    for ($ii = 0; $ii -lt $destinationReleaseDefinitionJSON.environments[$i].deployPhases.Count; $ii++) { 
     $destinationReleaseDefinitionJSON.environments[$i].deployPhases[$ii].deploymentInput = $destinationReleaseDefinitionJSON.environments[$i].deployPhases[$ii].deploymentInput | Select-Object * -ExcludeProperty queueId 
    } 
} 

回答

4

假設你想刪除一個屬性,這樣做直接通過.PSObject.Properties.Remove

foreach ($env in $destinationReleaseDefinitionJSON.environments) { 
    $env.PSObject.Properties.Remove('queueId') 
    foreach ($phase in $env.deployPhases) { 
     $phase.deploymentInput.PSObject.Properties.Remove('queueId') 
    } 
} 
+0

「PSObject」。這就是我需要的。謝謝! – BorgRebel

相關問題