合并两个json对象
我有以下输入-2个json文件,一个是基础文件,第二个包含相同的属性,但值不同,我想合并这些对象。
例如:
{ a:{
b:"asda"
}
c: "asdasd"
}
第二个文件:
{ a:{
b:"d"
}
}
结果应该是这样的:
{a:{b:"d"},c:"asdasd"}
使用powershell可以做到吗?
回答:
(请参见下面的更新)$Json1 | Join $Json2 -Merge {$Right.$_} | ConvertTo-Json
($Json1 ConvertFrom-Json) | Merge ($Json2 ConvertFrom-Json) | ConvertTo-Json
结果:
{ "c": "asdasd",
"a": {
"b": "d"
}
}
您可能会考虑不覆盖左值:
($Json1 ConvertFrom-Json) | Join ($Json2 ConvertFrom-Json) | ConvertTo-Json
在这种情况下,结果将是:
{ "c": "asdasd",
"a": [
{
"b": "asda"
},
{
"b": "d"
}
]
}
的-Merge
参数已经被耗尽,分过-Discern
和-Property
参数(遗憾的重大更改)。好消息是,对象合并的默认参数设置包含在名为Merge-Object
(alias Merge
)的代理命令中,该命令将相关语法简化为:$Object1 | Merge
$Object2。有关详细信息,请参见自述文件或嵌入式帮助。
以上是 合并两个json对象 的全部内容, 来源链接: utcz.com/qa/408886.html