【发布时间】:2022-02-16 10:17:52
【问题描述】:
我是 Powershell 的新手,在做一些我认为可能很简单的事情时遇到了麻烦,但到目前为止还没有运气。
我有一个包含两个对象的数组。基本上是这样的:
[
{
"name":"John",
"age":30,
...
...
},
{
"score":null,
"vehicle":"Camaro",
"engine":"V8",
...
...
}
]
我的目标是更新第二个对象中的 score 值。当键的值已经作为字符串存在时,我很幸运这样做,但我不明白为什么当键存在但值为 null 时我无法使其工作(如上所示)。
我尝试使用我在搜索以前发布的问题时了解到的一个功能,尝试做类似的事情:
Set Value of Nested Object Property by Name in PowerShell
该问题的函数如下所示:
function SetValue($object, $key, $Value)
{
$p1,$p2 = $key.Split(".")
if($p2) { SetValue -object $object.$p1 -key $p2 -Value $Value }
else { $object.$p1 = $Value }
}
并且可以这样调用:
SetValue -object $Obj -key $Key -Value $Value
我不确定该值是否为 NULL 为什么很重要。它可以找到密钥,但如果它的值为 NULL,则什么也不做。
如果这已经存在,我深表歉意。 Powershell 与我以前使用过的任何东西都有一点不同!任何帮助是极大的赞赏! :)
【问题讨论】:
标签: json powershell null key-value