2017-11-13 8 views
0

JSON連想配列をPowerShellで正しく更新する方法は?連想配列を更新する

私は次のように設定している:

$json = Get-Content $file -Raw | ConvertFrom-Json 
$arr = $json.MyJsonObject 

foreach ($entry in $arr) { 
    ??? = $entry -replace "UpdateMe", "REPLACEMENT" 
} 

代わり???の中に埋めるために何を?

{ 
    "MyJsonObject" : { 
     "A": "UpdateMe", 
     "B": "UpdateMe" 
    } 
} 

答えて

1

$arrは(PowerShellの用語またはハッシュテーブル)連想配列ではなく、ネストされたオブジェクト:

JSONは次のようになります。プロパティ名を知らずにそのオブジェクトのプロパティの値を変更するには、プロパティを列挙し、変更した値をそれらに戻す必要があります。

$json.MyJsonObject.PSObject.Properties | ForEach-Object { 
    $_.Value = $_.Value -replace 'UpdateMe', 'REPLACEMENT' 
}