Jolt 转换以将属性添加到 JSON 对象

Jolt transformation to add a attribute to a JSON object

我有两个 JSON 对象作为输入,我想将一个对象的值添加到另一个对象。 我尝试了许多不同的规格,但我无法让它工作。

这里有一个例子:

输入:

{
  "all": {
    "a": "1",
    "b": "2",
    "c": "3"
  },
  "partially": {
    "d": "4",
    "e": "5",
    "f": "6"
  }
}

我想从 "all" 对象中获取所有数据,但我不知道会出现哪些键。 另一方面,我知道 "partially" 对象的键,我只想移动 selected。 因此,例如这里是所需的输出:

{
  "result" : {
    "a" : "1",
    "b" : "2",
    "c" : "3",
    "d" : "4"
  }
} 

这是我当前的规格,但它会生成一个包含单独数据的数组,而不是 select 仅 "d" 来自 "partially"。如果我只尝试 select "d" 它会移动值而不是键,但我需要两者:

[
  {
    "operation": "shift",
    "spec": {
      "all": "result",
      "partially": "result"
    }
  }
]

有什么办法吗? 谢谢!

请试试这个规范,

[
  {
    "operation": "shift",
    "spec": {
      "all": {
        "@": "result",
        "@(1,partially.d)": "result.d"
      }
    }
  }
]