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

Jolt merge array values from objects in one array

我有以下 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]
}

有人能帮帮我吗?

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

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

通过在键的前面加上 "&.&1" 在第一步中,然后通过使用 "*": "&2[]" 消散每个相应的值,其中 &2 表示向上两层以遍历两个花括号以到达根键以定位每个值数组的数量。

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