【问题标题】:How to combine two json objects in powershell如何在powershell中组合两个json对象
【发布时间】:2021-10-19 00:16:41
【问题描述】:

如果我有两个 json 文件,如何使用 powershell 组合对象?我希望第二个文件中的值取代第一个对象中的值。 json 中可能存在嵌套的复杂对象。真的,我正在寻找 ($Json1 ConvertFrom-Json) | Merge ($Json2 ConvertFrom-Json) | ConvertTo-Json 的现代解决方案,因为 Merge 已被弃用,我无法在我的 azure 管道中使用它。

{
"name" : "value",
"type": "someType",
"color": "green",
"someComplexObject" : value of complex object
}
{
"name" : "value1",
"color": "blue",
"someComplexObject" : value of complex object
}

最终结果会在哪里

{
"name" : "value1",
"type": "someType",
"color": "blue",
"someComplexObject" : value of complex object
}

【问题讨论】:

  • 应该$json2.someComplexObject直接覆盖$json1.someComplexObject,还是需要递归合并它们?
  • 他们还需要递归合并
  • 如果属性都不同,你可以使用convertfrom-json -ashashtable,然后添加哈希表。
  • 这是一个 jq 解决方案:stackoverflow.com/questions/19529688/…

标签: json powershell


【解决方案1】:

Merge/Concatenate multiple json files using PowerShell

TL;DR

@($JSON1; $JSON2) | ConvertTo-Json -Depth 20

【讨论】:

  • 此解决方案不合并 2 个对象,如 OP 所述。它将创建一个两个对象都完好无损的数组。
猜你喜欢
  • 1970-01-01
  • 2020-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多