在NiFi中,
我有一个JSON数据,我使用SplitJson和EvaluateJson将Json数据的必需组件存储在我自己的变量中。
如何在Json数据值上实现if-elseif-else条件?
例如,如果attributeA == 0,则relationship = pass,else fail,依此类推。
答案 0 :(得分:6)
您将使用具有动态属性的RouteOnAttribute
处理器,根据提供的属性评估NiFi Expression Language。以下是有关boolean operations和evaluating multiple attributes的文档部分。
答案 1 :(得分:2)
如果您想实现If-ElseIf-Else条件,可以这样做:
${
LogData:jsonPath('$.email'):equals('DEV'):not():ifElse(
${LogData:jsonPath('$.email'):equals('QA'):ifElse(
'aa',
'bb'
)},
'cc'
)}
请注意,使用此方法可以根据需要创建嵌套条件,但如果需要进行一些路由,最好使用RouteOnAttribute处理器,如@andy所说。