如何在Apache NiFi中遍历无命名数组并逐个提取元素?
在Apache NiFi中遍历无命名数组并逐个提取元素
直接用NiFi原生处理器就能实现需求,步骤如下:
提取完整数组:先用
EvaluateJSONPath处理器,配置Json Path Expression为$(因为是无命名根数组),把提取结果存到自定义属性里,比如array-data,Return Type选JSON,完整保留数组结构。拆分数组为单个元素:接着用
SplitJSON处理器,Json Path Expression同样填$,它会把输入的数组FlowFile拆分成N个独立的FlowFile,每个FlowFile的内容就是数组里的单个元素(比如第一个是"6100",第二个是"6101"),拆分顺序和原数组完全一致。将元素存入变量:最后用
EvaluateJSONPath处理每个拆分后的FlowFile,Json Path Expression填$,Return Type选Scalar,把提取的单个元素存到属性,比如current-value,后续流程直接用${current-value}就能引用这个变量。
如果需要记录迭代次数,加个UpdateAttribute处理器,新增属性iteration-index,值设为${iteration-index:plus(1):default(1)},就能从1开始给每个元素标记序号。
内容的提问来源于stack exchange,提问作者Destiel
相关产品推荐
相关产品推荐

