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

如何在NiFi中用JOLT Transform按元素值移除JSON数组对象

在NiFi中使用JoltTransformJSON筛选JSON数组对象

完全可以实现这个需求,不用复杂的remove操作,用shift转换结合条件判断就能完成数组对象的筛选。

针对你的场景,使用如下Jolt规范即可:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "@(1,exists)": {
          "true": {
            "@2": "[]"
          }
        }
      }
    }
  }
]

规范说明:

  • * 遍历输入数组中的每一个对象
  • @(1,exists) 获取当前遍历对象的exists字段值
  • "true": { "@2": "[]" } 当exists的值为true时,将当前整个对象(@2表示向上回溯两层的节点,也就是当前数组元素)映射到输出数组中;如果是false则不做任何映射,相当于自动剔除该对象

验证示例:

输入JSON:

[
  {
    "alpha": "a",
    "beta": "b",
    "omega": "o",
    "exists": true
  },
  {
    "alpha": "1",
    "beta": "2",
    "omega": "3",
    "exists": false
  },
  {
    "alpha": "z",
    "beta": "x",
    "omega": "y",
    "exists": true
  }
]

经过转换后输出:

[
  {
    "alpha": "a",
    "beta": "b",
    "omega": "o",
    "exists": true
  },
  {
    "alpha": "z",
    "beta": "x",
    "omega": "y",
    "exists": true
  }
]

如果需要根据字符串值筛选(比如exists是字符串类型,值为特定内容时保留),只需要把规范里的"true"改成对应的字符串值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:05:34