4

我想使用 Apache NiFi 的内置处理器“SplitJson”来拆分 JSON 数组。我以前做过,效果很好,但现在我似乎找不到正确的 json 路径表达式来拆分我的 json。我得到的 JSON 只是来自 github:

https://api.github.com/events

我想在单独的流文件中获取每个事件。在处理器的描述中,它指出:

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

因此,因为它是我要拆分的根数组,所以我尝试使用 $ 或 @ 但这不起作用。同样*[*]其他我认为是错误的事情,例如$.[*]等,都不起作用。在某些情况下,它只是不拆分任何东西,有时它会给出一个错误,只是说它找不到数组。

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

4

1 回答 1

7

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

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

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

于 2016-03-17T18:17:17.107 回答