Apache nifi 在Nifi中访问数组值
我有一个json数组,看起来像Apache nifi 在Nifi中访问数组值,apache-nifi,Apache Nifi,我有一个json数组,看起来像 { [ { "name": "ABCDEF", "details": { "code": null, "description": null, "range": { "fromNo": "00174", "toNo": "99999" } } }, { "name": "ABCDEF", "details": {
{
[
{
"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”,
“详情”:{
“代码”:空,
“描述”:空,
“范围”:{
“fromSerialNo”:“00061”,
“toSerialNo”:“00173”
}
}]
}
我希望输出为
{
“名称”:“ABCDEF”,
“详情”:{
“代码”:空,
“描述”:空,
“范围”:{
“fromSerialNo”:“00001”,
“toSerialNo”:“99999”
但问题是我无法将变量放入EvaluateJsonPath,因为它不接受nifi表达式语言。我必须循环遍历所有值,然后获得最终范围。有人知道这是否可以在nifi中完成吗。使用现成的处理器,目前没有简单的方法可以做到这一点,但nifi被设计为易于扩展您需要做的是编写一个自定义java处理器或脚本来解决这个问题 有关为NiFi编写自定义java处理器的介绍教程,请查看以下链接:
从版本0.5.0开始,有ExecuteScript和InvokeScripted处理器。处理器的创建者在这里写了许多博客:请更好地解释您想要什么。这是我的猜测,您想做什么,请告诉我是否正确:这是一个JSON数组,其中每个元素都描述了它对应的一系列值响应到。您要分析整个数组以找到最小的“fromSerialNo”和最大的“toSerialNo”,以便创建一个元素(替换内容)是的。我只想创建一个Json对象,它只有最小的fromSerialNo和最大的toSerialNo。我必须遍历整个数组才能得到这些值。
}