如何使用 JOLT 转换合并两个数组

How to combine two arrays with JOLT Transformation

我对颠簸变换不是很熟悉,正在寻求帮助。

输入JSON如下:

{
  "2021-03-01": {
    "hours": 0
  },
  "2021-03-02": {
    "hours": 0
  },
  "2021-03-03": {
    "hours": 6.31
  },
  "2021-03-04": {
    "hours": 6.49
  },
  "2021-03-05": {
    "hours": 0
  }
}

需要的输出如下:

[
  {
    "day": "2021-03-01",
    "hours": 0
  },
  {
    "day": "2021-03-02",
    "hours": 0
  },
  {
    "day": "2021-03-03",
    "hours": 6.31
  },
  {
    "day": "2021-03-04",
    "hours": 6.49
  },
  {
    "day": "2021-03-05",
    "hours": 0
  }
]

感谢任何帮助。 谢谢

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "hours": "obj.hours",
        "$": "obj.day"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "day": {
          "*": "[&].day"
        },
        "hours": {
          "*": "[&].hours"
        }
      }
    }
  }
]

另一种方法可能是

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "$": "&.day",
        "*": "&1.&"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "@": ""
      }
    }
  }
]

其中在第一步中确定了不存在的键(day),然后在第二步中删除了对象的相应键。例如。无需重复键名,而是可以使用符号替换。

甚至只有一个 shift转换的直接选项也可以给出

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "$": "[#2].day",
        "*": "[#2].&"
      }
    }
  }
]