JOLT 将平面对象拆分为 key/value 数组

JOLT split flat object into key/value array

我想将简单的平面对象拆分为数组,因此每个 key/value 都显示为数组元素。示例:

输入

{ 
   "FIRST_NAME": "John",
   "LAST_NAME": "Doe"
}

期望输出:

[
  {
    "key": "FIRST_NAME",
    "value": "John"
  },
  {
    "key": "LAST_NAME",
    "value": "Doe"
  }
]

尝试了各种配置,但无法接近。

您可以通过在移位转换规范中分别使用 $@ 通配符来确定每个 key-value 对,例如

[
  { 
    "operation": "shift",
    "spec": {
      "*": {
        "$": "[#2].key",
        "@": "[#2].value"
      }
    }
  }
 ]

哪里

规范右侧的

[#2]表示通过一个冒号上升两级(:) 和左大括号({) 并获取数组的索引以添加 keyvalue 节点分别与上述通配符一起使用。

站点 http://jolt-demo.appspot.com/ 上的 演示