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

如何在NiFi的Jolt转换中按条件添加新键值对

Jolt转换实现

转换规则

  • 数据含Environment字段时,添加numid字段,值为"1"
  • 数据含CostCenter字段时,添加numid字段,值为"2"

输入数据

[
  {
    "Environment": "net",
    "BillingProfileId": 863,
    "ms-resource-usage": "azure-cloud-shell"
  },
  {
    "CostCenter": "check",
    "BillingAccountName": "HCL Technologies Ltd.",
    "ServiceFamily": "Compute"
  }
]

期望输出

[
  {
    "Environment": "net",
    "numid": "1",
    "BillingProfileId": 863,
    "ms-resource-usage": "azure-cloud-shell"
  },
  {
    "CostCenter": "check",
    "numid" : "2",
    "BillingAccountName": "HCL Technologies Ltd.",
    "ServiceFamily": "Compute"
  }
]

实现的Jolt规范

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        // 保留所有原始字段
        "@": "[&1]",
        // 匹配Environment字段时设置numid为1
        "Environment": {
          "@(0)": "[&2].Environment",
          "#1": "[&2].numid"
        },
        // 匹配CostCenter字段时设置numid为2
        "CostCenter": {
          "@(0)": "[&2].CostCenter",
          "#2": "[&2].numid"
        }
      }
    }
  },
  {
    "operation": "default",
    "spec": {
      "*": {}
    }
  }
]

规范说明

  • shift操作核心完成两项工作:保留所有原有字段,同时匹配Environment或CostCenter字段时,添加对应值的numid字段;
  • default操作用于兼容其他未匹配规则的数据对象,确保其结构不受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 04:09:27