You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Apache NiFi中实现JSON转换的Jolt规范编写

Jolt规范实现键值对数组转换

以下是适配你需求的Jolt Shift转换规范,可直接在Apache NiFi的JoltTransformJSON处理器中使用:

[
  {
    "operation": "shift",
    "spec": {
      "values": {
        "*": {
          "*": {
            "@(3,keys[&1])": "[&2].&"
          }
        }
      }
    }
  }
]

规范说明

  • 核心用Shift操作实现结构映射,这是Jolt处理键值重排最常用的操作
  • values: 定位到输入JSON中的values二维数组
  • 第一层*: 遍历values里的每个子数组(对应每条客户数据),&2代表当前子数组的索引,用来标记输出数组的位置[&2]
  • 第二层*: 遍历子数组里的每个元素,&1代表当前元素在子数组中的索引
  • @(3,keys[&1]): 向上回溯3层找到根节点的keys数组,取出索引为&1的元素作为最终的字段名
  • "[&2].&": 将当前元素的值,赋值给输出数组第&2个对象中对应字段名的位置

验证效果

输入JSON:

{
  "keys": [
    "CustomerNumber",
    "CustomerName",
    "IsActive"
  ],
  "values": [
    [
      "12345",
      "ABC Corp",
      "1"
    ],
    [
      "67890",
      "XYZ Ltd",
      "0"
    ]
  ]
}

转换后输出:

[
  {
    "CustomerNumber": "12345",
    "CustomerName": "ABC Corp",
    "IsActive": "1"
  },
  {
    "CustomerNumber": "67890",
    "CustomerName": "XYZ Ltd",
    "IsActive": "0"
  }
]

NiFi使用提示

在NiFi的JoltTransformJSON处理器中,将上述规范粘贴到Jolt Specification属性框内,确保输入FlowFile的内容是目标JSON结构,运行后即可得到期望的输出格式。

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 06:10:59