颠簸,映射到数组

Jolt, map to array

我有一个 json 输入如下:

{
  "p1": 1,
  "p2": 2,
  "p3": 3,
  "create_time": 12345
}

我想产生如下输出:

{
  "result": [
    {
      "name": "p1",
      "value": 1,
      "create_time": 12345
    },
    {
      "name": "p2",
      "value": 2,
      "create_time": 12345
    },
    {
      "name": "p3",
      "value": 3,
      "create_time": 12345
    }
  ]
}

有这方面的指南吗?或者我应该尝试 Jolt

以外的其他方法

你可以应用shift变换两次;第一步将所有元素组合成以字母 p 开头的每个键,然后通过将每个对象组合为最后一个名为 result 的数组中的数组元素来摆脱单独的键名称步骤如

[{
    "operation": "shift",
    "spec": {
      "p*": {
        "$": "&.name",
        "@(1,&)": "&.value",
        "@(1,create_time)": "&.create_time"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": "result.[]"
    }
}]