最近,我遇到了一个挑战,当我将一个数组从 JSON 导入一个变量 ($Array) 作为 PSCustomObject 数组,并将它添加到另一个变量 ($Var) 时。当我修改 $Array 的属性时,$Var 中的属性也发生了意外变化。情况示例:
$Json = '
[{
"Property":"a"
}]'
$Array = $Json | ConvertFrom-Json
$Var = $Array[0]
$Var.Property = "b"
当获取 $Array 的内容时,你得到了'Property' = 'b'
,我找不到这两个变量之间的链接,所以我想知道我可能会错过什么。
我设法通过将变量的内容与 Json 相互转换来解决这个问题:
$Var = $Array[0] | ConvertTo-Json | ConvertFrom-Json
如果有人能解释为什么这是一个功能而不是一个错误,我会很高兴。:) 提前谢谢了