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

如何在属性层级将JSON对象转换为JSON字符串(NiFi场景)

将NiFi属性中的JSON对象转换为JSON字符串

已通过EvaluateJsonPath处理器将目标JSON数组读取到属性source_data中,以下是几种在属性层级将其转换为JSON字符串的方法:

方法1:使用UpdateAttribute处理器(推荐)

通过NiFi表达式语言的jsonEncode()函数直接转换:

  1. 添加UpdateAttribute处理器到流程中
  2. 添加一个新属性(可覆盖原source_data,也可新建如source_data_str)
  3. 属性值设置为:
    ${source_data:jsonEncode()}
    

该函数会自动将属性中存储的JSON对象序列化为标准JSON字符串。

方法2:重新配置EvaluateJsonPath(从源头解决)

如果还未完成EvaluateJsonPath的最终配置,可直接在读取时获取JSON字符串:

  1. 打开EvaluateJsonPath处理器配置界面
  2. 设置Return Type为JSON String
  3. 路径使用$(读取整个JSON数组),目标属性设为source_data
    这样读取到属性中的内容直接就是JSON字符串,无需后续转换。

方法3:使用ExecuteScript处理器(自定义脚本)

如果需要更灵活的处理,可通过Groovy脚本实现:

  1. 添加ExecuteScript处理器
  2. 选择脚本语言为Groovy
  3. 输入以下脚本:
    def sourceData = attributes.get("source_data")
    if (sourceData != null) {
        def jsonBuilder = new groovy.json.JsonBuilder(sourceData)
        attributes.put("source_data_str", jsonBuilder.toString())
    }
    

脚本会将source_data属性中的JSON对象转换为字符串,并存储到新属性source_data_str中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:19:57