1

最近,我遇到了一个挑战,当我将一个数组从 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

如果有人能解释为什么这是一个功能而不是一个错误,我会很高兴。:) 提前谢谢了

4

0 回答 0