我想使用Apache NiFi的内置处理器' SplitJson'拆分JSON数组。我以前做过它并且它完美地工作但现在我似乎无法找到正确的json路径表达式来分割我的json。我得到的JSON只是来自github:
我希望将每个事件都放在一个单独的流文件中。在处理器的描述中,它声明:
一个JsonPath表达式,指示要拆分为JSON /标量片段的数组元素。
因为它是我要分割的根数组,我尝试使用$或@但这不会起作用。同样*
或[*]
或其他我认为错误的内容,例如$.[*]
等,不起作用。在某些情况下,它只是没有分裂任何东西,有时它只是说它无法找到数组就会出错。
提前感谢任何建议或帮助!
答案 0 :(得分:5)
我相信您需要做的就是拥有$.*
的JSON路径。这应该将数组拆分为每个元素的FlowFile。
为了演示,我在这里创建并上传了一个模板[1]。它使用GetHTTP接收JSON,使用SplitJSON拆分它并以LogAttribute结束(用于测试目的)。请注意,我相信GitHub要求您使用https(使用http进行初始测试失败),因此您需要使用密钥库配置SSL上下文。