Apache Nifi颠簸转换仅获得特定的键和值

问题描述

我对Nifi非常陌生。在使用JoltTransformJson的Nifi中,我需要将以下输入转换为以下输出:有人可以提供Jolt规范。我尝试了几种方法来执行此操作,但是无法获得相同的输出

输入

{
  "myOps": {
    "Ops1": {
      "type": "software","url": "url-software"
    },"Ops2": {
      "type": "hardware","url": "url-hardware"
    }
  }
}

输出


   {
      "type": "software",{
      "type": "hardware","url": "url-hardware"
    }

解决方法

您不需要Jolt。您可以将EvaluateJsonPath处理器与JsonPath表达式$.myOps.*一起使用,该表达式将返回一个包含要查找的两个对象的有效JSON数组。 JsonPath.com是评估和调试JsonPath表达式的好资源。

如果您需要避免包装[](尽管这是有效的JSON),则可以使用ReplaceText删除它们。

,

检查此规格

[
  {
    "operation": "shift","spec": {
      "myOps": {
        "Ops*": {
          "@": "[]"
        }
      }
    }
  }
]