Jolt 变换 - 字段相等的过滤器数组
Jolt Transform - Filter Array Where Fields equal
在 Jolt 转换中,我试图通过一个 id 过滤一个对象数组,如果该 id 等于数组外部字段上的一个 Id。
这是我的数据
{
"position": {
"positionManagerId": "123"
},
"managers": [
{
"id": "123",
"name": "John"
},
{
"id": "456",
"name": "Jack"
}
]
}
我喜欢抢经理在哪
managers.id == position.positonManagerId
我的输出看起来像
{
"managerId": "123",
"managerName": "John"
}
您可以应用两次移位变换。
将公共 id 值下的 key-value 对组合为第一个中的键名,以便获得搜索到的 id 值的列表(在本例中为 123
),而另一对( s) 不会是列表。
然后在第二个规范中使用索引值(0
和1
)以消除没有列表值的对,例如
[
{
"operation": "shift",
"spec": {
"position": {
"*": {
"$": "@(0)"
}
},
"managers": {
"*": {
"@name": "@id"
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"0": {
"": "managerId"
},
"1": "managerName"
}
}
}
]
在 Jolt 转换中,我试图通过一个 id 过滤一个对象数组,如果该 id 等于数组外部字段上的一个 Id。
这是我的数据
{
"position": {
"positionManagerId": "123"
},
"managers": [
{
"id": "123",
"name": "John"
},
{
"id": "456",
"name": "Jack"
}
]
}
我喜欢抢经理在哪
managers.id == position.positonManagerId
我的输出看起来像
{
"managerId": "123",
"managerName": "John"
}
您可以应用两次移位变换。
将公共 id 值下的 key-value 对组合为第一个中的键名,以便获得搜索到的 id 值的列表(在本例中为 123
),而另一对( s) 不会是列表。
然后在第二个规范中使用索引值(0
和1
)以消除没有列表值的对,例如
[
{
"operation": "shift",
"spec": {
"position": {
"*": {
"$": "@(0)"
}
},
"managers": {
"*": {
"@name": "@id"
}
}
}
},
{
"operation": "shift",
"spec": {
"*": {
"0": {
"": "managerId"
},
"1": "managerName"
}
}
}
]