在 Apache NiFi 中从流文件中检索 JSON 属性需要帮助

Sat*_*raj 6 json apache-nifi

我正在尝试使用 NiFi 中的 EvaluvateJsonPath 处理器从 JSON 文件中获取属性值。

下面是示例 JSON 文件

{"widget": {
    "debug": "on",
    "window": {
        "title": "Sample Konfabulator Widget",
        "name": "main_window",
        "width": 500,
        "height": 500
    },
    "image": { 
        "src": "Images/Sun.png",
        "name": "sun1",
        "hOffset": 250,
        "vOffset": 250,
        "alignment": "center"
    },
    "text": {
        "data": "Click Here",
        "size": 36,
        "style": "bold",
        "name": "text1",
        "hOffset": 250,
        "vOffset": 100,
        "alignment": "center",
        "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
    }
}}
Run Code Online (Sandbox Code Playgroud)

下面是我的配置。

配置

预期的输出应该是“main_window”。但是我将整个 JSON 字符串作为输出。有人可以指出我正确的方向,这里出了什么问题?

更新:

这是流文件内容,我在队列中看到是 EvaluvateJsonPath 处理器的结果。

在此处输入图片说明

VM *_* MP 3

你已经"Name"-->$.widget.window.name正确地给予了。

但你必须明确指出"ReturnType"-->json不是"ReturnType"-->autodetect

这就是你收到整个 json 字符串的问题。

编辑-1

如果将返回类型更改为 json,那么您可以收到预期的输出“main_window”,并将其存储在属性 ${Name} 中

之后,您可以使用ReplaceText处理器指定替换值“${Name}” ,然后您可以在流程文件中接收“main_window”

它可能对我有用。

如果您遇到任何问题,请告诉我