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

NiFi中JoltTransformation转字符串为Long/Double失效,求排查方案

Jolt转换失败问题排查与解决

问题原因分析

  1. 字段名大小写不匹配
    原JSON中的字段是"checkpay": "2345,89"(全小写p),但你的Jolt规则里写的是"checkPay": "=toDouble"(驼峰P),Jolt会严格匹配字段名,因此无法定位到目标字段进行类型转换。

  2. 小数点分隔符不兼容
    checkpay的值使用逗号(,)作为小数点分隔符,而Jolt的=toDouble函数默认仅识别点号(.)作为小数点,直接转换会因格式不合法失败。

修正后的Jolt规则

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "isUnderAge": "=toBoolean",
      // 先替换逗号为点号,再转为Double
      "checkpay": ["=replaceAll(@(1), ',', '.'", "=toDouble"],
      "id": "=toLong"
    }
  }
]

说明

  • 去掉*通配符,直接指定目标字段,避免不必要的匹配;
  • 对checkpay字段先通过replaceAll函数将逗号替换为点号,再执行toDouble转换;
  • 修正checkpay的字段名拼写,确保与原JSON一致;
  • id字段只要原字符串是合法数字格式,修正后即可正常转为Long类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 02:02:38