首页 > 解决方案 > 无法在 Apache-NiFi 中提取 Json 数据

问题描述

我写了一个下面的 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 路径详细信息

在此处输入图像描述

我在 EvaluateJsonPath 处理器中收到“流文件没有有效的 JSON 内容”错误

如何提取 empdata 并检查其是否为空?

标签: apache-nifi

解决方案


该问题与 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

推荐阅读