###前提・実現したいこと
PowerShellでjsonコードの読み込み・コピー・値の変更・出力をしたいと思っています。
以下のコードで試しているのですが、$jobj.param1.param3.valuの値のみを変更したいのですが、
$jobj.param1.param2.valueまで変更されてしまいます。
なぜこのような動きをするのかご教示ください。
###発生している問題・エラーメッセージ
=== JSONを読み込んだ直後 ===
{
"param1": {
"param2": {
"name": "name1",
"value": "value1"
}
}
}
=== param2 から param3を作成 ===
{
"param1": {
"param2": {
"name": "name1",
"value": "value1"
},
"param3": {
"name": "name1",
"value": "value1"
}
}
}
=== param3のvalueを変更 ===
{
"param1": {
"param2": {
"name": "name1",
"value": "Z"
},
"param3": {
"name": "name1",
"value": "Z"
}
}
}
###該当のソースコード
$json = @"
{
"param1": {
"param2": {
"name": "name1",
"value": "value1"
}
}
}
"@
write-host "=== JSONを読み込んだ直後 ==="
$jobj = ConvertFrom-Json -InputObject $json
write-host (ConvertTo-Json $jobj)
write-host "=== param2 から param3を作成 ==="
$jobj.param1 | add-member param3 $jobj.param1.param2
write-host (ConvertTo-Json $jobj)
write-host "=== param3のvalueを変更 ==="
$jobj.param1.param3.value = "Z"
write-host (ConvertTo-Json $jobj)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/16 17:11