问题描述
我对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*": {
"@": "[]"
}
}
}
}
]