Apache NiFi拆分JSON根数组

时间:2016-03-17 15:57:44

标签: json regex api split apache-nifi

我想使用Apache NiFi的内置处理器' SplitJson'拆分JSON数组。我以前做过它并且它完美地工作但现在我似乎无法找到正确的json路径表达式来分割我的json。我得到的JSON只是来自github:

https://api.github.com/events

我希望将每个事件都放在一个单独的流文件中。在处理器的描述中,它声明:

  

一个JsonPath表达式,指示要拆分为JSON /标量片段的数组元素。

因为它是我要分割的根数组,我尝试使用$或@但这不会起作用。同样*[*]或其他我认为错误的内容,例如$.[*]等,不起作用。在某些情况下,它只是没有分裂任何东西,有时它只是说它无法找到数组就会出错。

提前感谢任何建议或帮助!

1 个答案:

答案 0 :(得分:5)

我相信您需要做的就是拥有$.*的JSON路径。这应该将数组拆分为每个元素的FlowFile。

为了演示,我在这里创建并上传了一个模板[1]。它使用GetHTTP接收JSON,使用SplitJSON拆分它并以LogAttribute结束(用于测试目的)。请注意,我相信GitHub要求您使用https(使用http进行初始测试失败),因此您需要使用密钥库配置SSL上下文。

[1] https://gist.github.com/JPercivall/e1b5ba00a45c464fd764