strong> topicZ.owner (无论是否topicA.owner),则输出owner.name应该映射到topicZ.owner(这将合并您的第一个和第三个条件) 如果<<li> strong> topicA.owner 输出owner.name
我想做一些震动,我只需要映射一个输入到输出。
感谢任何帮助或建议。
-
如果topicA.owner和topicZ.owner当前输出owner.name应该映射到topicZ.owner
如果<<li>strong> topicA.owner 只有这样,输出owner.name应该映射到topicA.owner
如果<<li>strong> topicZ.owner 只有这样,输出owner.name应该映射到topicZ.owner
输入:{
"topicA": {
"owner": "topic_a_owner"
},
"topicZ": {
"owner": "topic_z_owner"
}
}
震动:
[
{
"spec": {
"*": {
"ta": "@(2,topicA.owner)",
"za": "@(2,topicZ.owner)"
}
},
"operation": "modify-default-beta"
},
{
"operation": "shift",
"spec": {
"topicA": {
"ta": "owner.name"
},
"topicZ": {
"za": "owner.name"
}
}
}
]
预期输出:
{
"owner" : {
"name" : "topic_z_owner"
}
}
您提到的3个条件可以简化为2个条件,如下所示:
如果<<ul>应该映射到topicA.owner基于此,您可以执行以下操作:
- 当
topicZ.owner
不存在时,使用modify-default-beta
操作将topicA.owner
的值复制到topicZ.owner
字段。 - 使用
shift
操作将输出topicZ.owner
字段的值映射到owner.name
字段。
[
{
"spec": {
"topicZ": {
"owner": "@(2,topicA.owner)"
}
},
"operation": "modify-default-beta"
},
{
"operation": "shift",
"spec": {
"topicZ": {
"owner": "owner.name"
}
}
}
]