私は1つのjsonファイルを持っていますmytest.json
以下のようにPowerShell script
を使用して値を更新したい
update.json
{
"update": [
{
"Name": "test1",
"Version": "2.1"
},
{
"Name": "test2",
"Version": "2.1"
}
]
}
if Name=="test1" I want to update Version= "3"
を使用してPowerShellスクリプトを記述したいのですが、パラメーターを使用してどのように実行できますか?
ここに方法があります:
$a = Get-Content 'D:\temp\mytest.json' -raw | ConvertFrom-Json
$a.update | % {if($_.name -eq 'test1'){$_.version=3.0}}
$a | ConvertTo-Json -depth 32| set-content 'D:\temp\mytestBis.json'
@FLGMwtと@mikemaccanaによれば、ConvertTo-Json
with -depth 32
デフォルトの深さの値は2であり、2を超えるオブジェクトの場合、オブジェクトに関係なくクラス情報を受け取るためです。