我想使用 Apache NiFi 的内置处理器“SplitJson”来拆分 JSON 数组。我以前做过,它工作得很好,但现在我似乎找不到正确的 json 路径表达式来拆分我的 json。我得到的 JSON 只是来自 github:
https://api.github.com/events
我想在单独的流文件中获取每个事件。在处理器的描述中,它指出:
A JsonPath expression that indicates the array element to split into JSON/scalar fragments.
所以因为它是我想要拆分的根数组,所以我尝试使用 $ 或 @ 但这不起作用。同样
*
或 [*]
或其他我认为错误的事情,例如 $.[*]
等不工作。在某些情况下,它只是不拆分任何内容,其他时候它会给出一个错误,只是说它找不到数组。在此先感谢您的任何建议或帮助!
最佳答案
我相信你需要做的就是拥有一个 $.*
的 JSON 路径。 .这应该将数组拆分为每个元素的 FlowFile。
为了演示,我在此处创建并上传了一个模板 [1]。它使用 GetHTTP 接收 JSON,使用 SplitJSON 拆分它并以 LogAttribute 结尾(用于测试目的)。请注意,我认为 GitHub 要求您使用 https(使用 http 的初始测试失败),因此您需要使用 keystore 配置 SSL 上下文。
[1] https://gist.github.com/JPercivall/e1b5ba00a45c464fd764
关于json - Apache NiFi 拆分 JSON 根数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36065702/