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

如何在NiFi中用正则移除JSON body字段值引号内的逗号

NiFi处理JSON移除body字段内逗号的可行方案

方案1:使用JoltTransformJSON处理器(首推,稳定性最高)

该方案基于JSON结构直接操作,完全不会误修改JSON本身的结构逗号或其他字段内容,适配所有合法JSON格式:

  • 新增JoltTransformJSON处理器,关联到你的数据流上
  • 在处理器配置的「Jolt Specification」项中填入如下规则:
[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "body": "=replace(',', '')"
    }
  }
]

配置完成后启动处理器即可自动完成所有body字段内逗号的删除操作。

方案2:使用ReplaceText正则替换(仅推荐无转义双引号的简单场景)

你之前的正则只能匹配整个body字段的内容,无法单独定位内容内的逗号,替换逻辑需要调整:

  • ReplaceText处理器配置项修改如下:
    • 「Search Value」填入正则:(?:\"body\"\s*:\s*\")|(,)(?=[^\"]*\",\s*\"[^\"]*\"\s*:)
    • 「Replacement Value」填入:$1
    • 「Evaluation Mode」选择「Line-by-Line」
    • 「Replacement Strategy」选择「Regex Replace」
      注意:如果body内容中存在转义双引号\",该正则会出现匹配错位,可能破坏整个JSON结构,非必要不推荐该方案

额外建议

如果后续需要合并JSON后转CSV,也可以直接使用ConvertRecord处理器,搭配JSONTreeReader和CSVRecordSetWriter,在Writer配置中开启字段值转义规则,无需提前删除body中的逗号也可正常生成合法CSV文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:45:06