1

我有一个看起来像的 json 数组

{
[
 {
    "name": "ABCDEF",
    "details": {
        "code": null,
        "description": null,
        "range": {
            "fromNo": "00174",
            "toNo": "99999"
        }
    }
}, {
    "name": "ABCDEF",
    "details": {
        "code": null,
        "description": null,
        "range": {
            "fromSerialNo": "00001",
            "toSerialNo": "00060"
        }

},{“名称”:“ABCDEF”,“详细信息”:{“代码”:null,“描述”:null,“范围”:{“fromSerialNo”:“00061”,“toSerialNo”:“00173”}} ] }

我希望输出为 { "name": "ABCDEF", "details": { "code": null, "description": null, "range": { "fromSerialNo": "00001", "toSerialNo": " 99999"

}

但问题是我不能将变量放在 EvaluateJsonPath 中,因为它不接受 nifi 表达式语言。我必须遍历所有值,然后获得最终范围。有谁知道这是否可以在nifi中完成。

4

1 回答 1

3

使用开箱即用的处理器目前没有简单的方法可以做到这一点,但 NiFi 的设计目的是易于扩展。你需要做的是编写一个自定义的 java 处理器或脚本来解决这个问题。

有关为 NiFi 编写自定义 Java 处理器的介绍教程,请查看此链接:http ://www.nifi.rocks/developing-a-custom-apache-nifi-processor-json/

从 0.5.0 版开始,有 ExecuteScript 和 InvokeScripted 处理器。处理器的创建者在这里写了许多关于它们的博客:http: //funnifi.blogspot.com/

于 2016-03-28T14:32:39.440 回答