Jolt 合并来自一个数组中的对象的数组值

时间:2021-05-10 22:30:26

标签: object merge jolt

我有以下 Json 数组:

[ {
  "name" : [ "roger", "roger" ],
  "state" : [ "primary", "quality" ],
  "value" : [ 1, 2 ]
}, {
  "name" : [ "david", "david" ],
  "state" : [ "primary", "quality" ],
  "value" : [ 4, 5 ]
} ]

并且我想使用 Jolt 获得以下 Json 对象结果

{
  "name" : [ "roger", "roger" , "david", "david" ],
  "state" : [ "primary", "quality" ,"primary", "quality" ],
  "value" : [ 1, 2 , 4, 5]
}

请问有人可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

您可以两次应用 shift 转换,例如

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": "&.&1"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "0": {
          "*": "&2[]"
        },
        "1": {
          "*": "&2[]"
        }
      }
    }
  }
]

where 确定键(&)和相应的索引(&1->01)第一步,然后通过使用 "&.&1" 消散每个值,其中 "*": "&2[]" 表示向上两级以遍历两个花括号,以到达根键以定位每个值数组。

答案 1 :(得分:-1)

非常感谢,是的,它完美无缺