如何在 NiFi 中使用 Jolt Transform 构建输出 JSON

问题描述 投票:0回答:1

我在尝试从 Apache NiFi 中的 joltTransform 处理器构造输出 JSON 时遇到问题。我需要从 idByLine 数组中提取值并将它们与 orderLine 数组中的值进行匹配。这是我输入 JSON 的简化版本:

  "orderLine": [
      "ID": "1"
    },
      "ID": "2"
    }
  ],
  "idByLine": [
    {
      "idLine": "1",
      "orderId": "AMD123"
    },
    {
      "idLine": "2",
      "orderId": "AMD555"
    }
  ]
}

我的目标是创建以下输出对象:

[ {
  "idLine" :  "AMD123" 
}, {
  "idLine" : "AMD555"
} ]

我正在努力设计正确的 JOLT 规范来实现这一目标。有人可以帮助我制定适当的 JOLT 规范来生成所需的输出吗?

apache-nifi jolt
1个回答
0
投票

您可以尝试以下规格:

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "ID": {
            "@": "@(0).&1"
          },
          "idLine": {
            "@(1,orderId)": "@(0).&1"
          }
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "ID": {
          "@(1,idLine)": "[].idLine"
        }
      }
    }
  }
]
© www.soinside.com 2019 - 2024. All rights reserved.