首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Apache-NiFi中提取Json数据。

无法在Apache-NiFi中提取Json数据。
EN

Stack Overflow用户
提问于 2019-11-08 15:36:40
回答 2查看 924关注 0票数 0

我编写了下面的POST命令,并使用"HandleHttpRequest“处理器在Apache NiFi中接收POST请求

代码语言:javascript
复制
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内容“错误

如何提取空数据并检查它是否为空?

EN

回答 2

Stack Overflow用户

发布于 2019-11-08 17:23:37

这个问题与NiFi无关。您应该像这样使用CURL发布数据(将双引号"改为单引号',在-d之后):

代码语言:javascript
复制
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"employeeDetails":{"empid":"124","empname": "praveen"}}' http://localhost:7002
票数 1
EN

Stack Overflow用户

发布于 2019-11-09 01:18:25

我有完全相同的两个处理器,另外,我还添加了一个HandleHTTPResponse,这样我的curl命令就可以整齐地退出,而不会发送额外的缓冲区消息,这些消息会导致EvaluateJSONPath组件由于无效的JSON错误而失败(我猜这也可能是您的情况)。HTTP请求流

同样,正如@Behrouz所提到的,您需要在命令中使用单引号。这是我的卷发命令

代码语言:javascript
复制
curl -v -H "Content-type: application/json" -X POST -d '{"employeeDetails":{"empid":"124","empname": "praveen"}}' http://localhost:7003

这是屏幕截图到EvaluateJSONPath处理器。

这是EvaluateJSONPath 空体的响应。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58769604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档