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

How to convert a string to a JSON array using NiFi

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

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

我想在此数组上拆分 flowFile 以分别处理每个元素(然后合并)。我尝试使用 SplitJson 处理器,但它需要 JSON 内容才能运行,所以我在它之前使用了 AttributesToJSON。不幸的是,生成的流文件的内容是:

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

我收到错误

The evaluated value [u'firstElement', u'secondElement'] of $['my_array'] was not a JSON Array compatible type and cannot be split.

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

ReplaceTextAlways ReplaceReplacement Strategy${my_array}Replacement Value 以及 SplitJSON 怎么样? 这将用此属性的值替换您的 FlowFile 的内容,然后您可以 SplitJSON 在上面。

假设我想串起来:“Hashtags”:“['tag1','tag2']”(Nifi 中结果 json 的 s 部分, ) 将更改为:“Hashtags”:['tag1','tag2'].

我做的是:

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