我正在nifi中构建流程,在该流程中,我需要按字段过滤JSON。因此,我决定拆分json,然后通过SplitJson和MergeContent处理器合并过滤的部分。我的splitJson处理器JsonPath是$.items[?(@.name =~ /.*Test.*/i)]
,因此它拆分正确,但是当我想将所有部分合并到一个json文件(Merge Strategy = Defragment)
中时,它合并文件但方式不正确。例如:
输入
{ "items": [ { "name": "A" }, { "name": "B" }, { "name": "Test" }, { "name": "Test" } ] }
因此,我希望MergeContent Processor具有以下功能:
[ {"name":"Test"}, {"name":"Test"} ]
但我知道了
{"name":"Test"}{"name":"Test"}
所以这甚至不是json
理想的变体是以某种方式合并:
{ "items":[
{"name": "Test"},
{"name": "Test"}
]}
如何像这样合并?
答案 0 :(得分:1)
按如下所述配置MergeContent Processor
分隔符策略为 Text
标题为 [
以 ]
分界器为 ,
现在,来自 MergeContent
处理器的输出流文件将显示为
[ {"name":"Test"}, {"name":"Test"} ]