如何使用NiFi将字符串转换为JSON数组

时间:2019-06-26 08:45:00

标签: apache-nifi apache-minifi

在NiFi中,我正在处理包含以下属性的流文件:

Key: 'my_array'
    Value: '[u'firstElement', u'secondElement']'

我想在该数组上拆分flowFile来分别处理每个元素(然后合并)。我尝试使用SplitJson处理器,但是它需要JSON内容才能进行操作,因此在此之前我使用了AttributesToJSON。不幸的是,产生的flowFile的内容是:

{"my_array": "[u'firstElement', u'secondElement'"}

我收到错误消息

  

$ ['my_array']的评估值[u'firstElement',u'secondElement']不是JSON数组兼容类型,因此无法拆分。

是否可以将my_array字符串转换为正确的JSON数组?我需要使用ExecuteScript还是有一些更简单的方法?

2 个答案:

答案 0 :(得分:3)

ReplaceTextReplacement Strategy的{​​{1}}和Always Replace的{​​{1}}然后是Replacement Value的情况如何? 这将用此属性的值替换FlowFile的内容,然后可以在其上${my_array}

答案 1 :(得分:0)

假设我要将字符串:“ Hashtags”:“ ['tag1','tag2']”(Nifi中我所得json的一部分)更改为:“ Hashtags ”:['tag1','tag2']。

我要做的是:

Apache Nifi replaceText sample

我将ReplaceText与Replacement Strategy : Regex ReplaceReplacement Value : a regex Expression一起使用。这会将FlowFile的匹配内容替换为该属性的值,然后您可以继续进行操作。