输出键为输入值的 Jolt shift 规范
Jolt shift spec where output key is input value
简化输入
{
"controllerServiceReferencingComponents": [
{
"revision": {
"version": 5
},
"component": {
"id": "9c050865-6d3a-3bb4-1ec5-b02fdfb103d1"
}
},
{
"revision": {
"version": 1
},
"component": {
"id": "a6ac00ee-0173-1000-24c9-70d812e16108"
}
}
]
}
期望的输出
{
"referencingComponentRevisions": {
"9c050865-6d3a-3bb4-1ec5-b02fdfb103d1": {
"version": 5
},
"a6ac00ee-0173-1000-24c9-70d812e16108": {
"version": 1
}
}
}
基本上我想在输入中使用 controllerServiceReferencingComponents.component.id
的 values 作为 referencingComponentRevisions
的 keys
我试过
的变化
[
{
"operation": "shift",
"spec": {
"controllerServiceReferencingComponents": {
"*": {
"component": {
"id": "referencingComponentRevisions."
},
"revision": {
"clientId": "referencingComponentRevisions.&.clientID"
}
}
}
}
}
]
作为我的规范,但是,我最终得到了像
这样的输出
{
"referencingComponentRevisions" : [ "9c050865-6d3a-3bb4-1ec5-b02fdfb103d1", "a6ac00ee-0173-1000-24c9-70d812e16108" ]
}
其中 referencingComponentRevisions
的值最终是一个数组而不是对象
FWIW 我正在尝试在 NiFi JoltTransformJSON 处理器中执行此操作
这适用于简单的转变,
[
{
"operation": "shift",
"spec": {
"controllerServiceReferencingComponents": {
"*": {
"component": {
"@(1,revision.version)": "referencingComponentRevisions.@(1,id).version"
}
}
}
}
}
]
简化输入
{
"controllerServiceReferencingComponents": [
{
"revision": {
"version": 5
},
"component": {
"id": "9c050865-6d3a-3bb4-1ec5-b02fdfb103d1"
}
},
{
"revision": {
"version": 1
},
"component": {
"id": "a6ac00ee-0173-1000-24c9-70d812e16108"
}
}
]
}
期望的输出
{
"referencingComponentRevisions": {
"9c050865-6d3a-3bb4-1ec5-b02fdfb103d1": {
"version": 5
},
"a6ac00ee-0173-1000-24c9-70d812e16108": {
"version": 1
}
}
}
基本上我想在输入中使用 controllerServiceReferencingComponents.component.id
的 values 作为 referencingComponentRevisions
的 keys
我试过
的变化[
{
"operation": "shift",
"spec": {
"controllerServiceReferencingComponents": {
"*": {
"component": {
"id": "referencingComponentRevisions."
},
"revision": {
"clientId": "referencingComponentRevisions.&.clientID"
}
}
}
}
}
]
作为我的规范,但是,我最终得到了像
这样的输出{
"referencingComponentRevisions" : [ "9c050865-6d3a-3bb4-1ec5-b02fdfb103d1", "a6ac00ee-0173-1000-24c9-70d812e16108" ]
}
其中 referencingComponentRevisions
的值最终是一个数组而不是对象
FWIW 我正在尝试在 NiFi JoltTransformJSON 处理器中执行此操作
这适用于简单的转变,
[
{
"operation": "shift",
"spec": {
"controllerServiceReferencingComponents": {
"*": {
"component": {
"@(1,revision.version)": "referencingComponentRevisions.@(1,id).version"
}
}
}
}
}
]