我编写了下面的POST命令,并使用"HandleHttpRequest“处理器在Apache NiFi中接收POST请求
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"employeeDetails":{"empid":"124","empname": "praveen"}}' http://localhost:7002我能够在"handleHttpRequest“处理器中接收json数据,如下所示

当我检查列表队列时,我能够看到json数据。

HandleHttpProcessor详细信息

但是我想提取empid并检查json数据的empid是否为空,我尝试了"ExtractText","ReplaceText","UpdateAttribute","EvaluateJsonPath“和处理器来获取开发的详细信息,但是我无法做到。
EvaluateJson路径细节

我在处理器中得到"flowfile 没有有效的JSON内容“错误
如何提取空数据并检查它是否为空?
发布于 2019-11-08 17:23:37
这个问题与NiFi无关。您应该像这样使用CURL发布数据(将双引号"改为单引号',在-d之后):
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"employeeDetails":{"empid":"124","empname": "praveen"}}' http://localhost:7002发布于 2019-11-09 01:18:25
我有完全相同的两个处理器,另外,我还添加了一个HandleHTTPResponse,这样我的curl命令就可以整齐地退出,而不会发送额外的缓冲区消息,这些消息会导致EvaluateJSONPath组件由于无效的JSON错误而失败(我猜这也可能是您的情况)。HTTP请求流
同样,正如@Behrouz所提到的,您需要在命令中使用单引号。这是我的卷发命令
curl -v -H "Content-type: application/json" -X POST -d '{"employeeDetails":{"empid":"124","empname": "praveen"}}' http://localhost:7003这是屏幕截图到EvaluateJSONPath处理器。
这是EvaluateJSONPath 空体的响应。
https://stackoverflow.com/questions/58769604
复制相似问题