gpt4 book ai didi

powershell - Powershell防止重复的对象键

转载 作者:行者123 更新时间:2023-12-03 00:47:17 26 4
gpt4 key购买 nike

这是this question的后续 Activity

如果我有2个json文件

file1.json

{
"foo": {
"honk": 42
}
}

file2.json
{
"foo": {
"honk": 9000,
"toot": 9000
}
}

我使用ConvertFrom-Json创建一个对象
$bar = @(Get-ChildItem . -Filter *.json -Recurse | Get-Content -Raw |ConvertFrom-Json)

Powershell会很乐意同时使用这两者,并覆盖foo。
foo

---
@{honk=42}
@{honk=9000; toot=9000}

$ bar.foo的内容被合并
$bar.foo

honk
----
42
9000

如果导入重复的对象怎么办?

最佳答案

每个JSON文件都作为单独的对象导入,因此实际上没有任何覆盖。您只获得对象列表。

要在拥有多个具有相同顶级属性的对象时引发错误,可以按属性名称对对象进行分组,如果计数> 1,则引发错误。

$bar | Group-Object { $_.PSObject.Properties.Name } |
Where-Object { $_.Count -gt 1 } |
ForEach-Object { throw "Duplicate object $($_.Name)" }

关于powershell - Powershell防止重复的对象键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41069437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com