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

如何在NiFi的JoltTransformJson处理器中实现IF-Else条件?

Jolt转换实现IF-Else条件逻辑

需求说明

需要基于以下两个条件修改SSP字段:

  • 当Name为null且IsEligible为false时,将SSP设为"0"
  • 当Name不为null且IsEligible为true时,将SSP_I的值赋值给SSP

Jolt转换规范

使用modify-overwrite-beta操作结合条件判断实现需求,具体转换规则如下:

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "SSP": [
        {
          "if": ["and", ["eq", ["@(1,Name)", null], ["eq", ["@(1,IsEligible)", false]]],
          "then": "0"
        },
        {
          "if": ["and", ["not", ["eq", ["@(1,Name)", null]]], ["eq", ["@(1,IsEligible)", true]]],
          "then": "${SSP_I}"
        },
        "=default"
      ]
    }
  }
]

规则解释

  1. 第一个条件分支:通过and逻辑组合两个判断,验证Name是否为null、IsEligible是否为false,满足条件则将SSP覆盖为"0"
  2. 第二个条件分支:验证Name不为null且IsEligible为true,满足条件则将SSP_I的值赋值给SSP
  3. 默认分支:=default表示如果上述两个条件都不满足,保留SSP原有的值

测试示例

输入JSON

{
  "IsEligible" : false,
  "Name" : null,
  "SSP" : "15.00",
  "SSP_I" : "5.00"
}

输出JSON

{
  "IsEligible" : false,
  "Name" : null,
  "SSP" : "0",
  "SSP_I" : "5.00"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 19:03:19