我有一个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"
}
}{"name":"ABCDEF","详细信息":{"code":null,"description":null,"范围":{"fromSerialNo":"00061","至序列号":"00173"}}]}
我希望输出为{"name":"ABCDEF","详细信息":{"code":null,"description":null,"范围":{"fromSerialNo":"00001","至序列号":"99999"
}
但问题是我不能将变量放在EvaluateJsonPath中,因为它不接受nifi表达式语言。我必须循环所有的值,然后得到最终的范围。有人知道在尼菲能不能做到这一点吗。
使用开箱即用的处理器目前没有简单的方法来做到这一点,但NiFi被设计为易于扩展。您需要编写一个自定义的java处理器或脚本来解决这个问题。
有关为NiFi编写自定义java处理器的介绍教程,请查看此链接:http://www.nifi.rocks/developing-a-custom-apache-nifi-processor-json/
从0.5.0版本开始,有ExecuteScript和InvokeScripted处理器。处理器的创建者在这里写了许多关于它们的博客:http://funnifi.blogspot.com/