从 mule 4 中的数组中删除键值对
remove key value pair from an array in mule 4
我在应用逻辑从数组中删除一个键时遇到问题。下面我添加了我现在处理后得到的有效载荷,我想从这里删除对象键。如何动态删除联系键?
[{
"TB1": [{
"object": "TB1",
"Name": 200
},
{
"object": "TB1",
"Name": 220
}
]
},
{
"TB2": [{
"object": "TB2",
"Field1": 100
}]
},
{
"TB3": [{
"object": "TB3",
"Field2": 1300
}]
}]
预计:
[{
"TB1": [{
"Name": 200
},
{
"Name": 220
}
]
},
{
"TB2": [{
"Field1": 100
}]
},
{
"TB3": [{
"Field2": 1300
}]
}]
output application/json
fun removeObject (obj) = (
(obj - "object")
)
---
payload map (o) -> {
(o mapObject (v,k) -> {
(k): (v match {
case a is Object -> removeObject(a)
case a is Array -> a map (removeObject($))
else -> v
})
})
}
我在应用逻辑从数组中删除一个键时遇到问题。下面我添加了我现在处理后得到的有效载荷,我想从这里删除对象键。如何动态删除联系键?
[{
"TB1": [{
"object": "TB1",
"Name": 200
},
{
"object": "TB1",
"Name": 220
}
]
},
{
"TB2": [{
"object": "TB2",
"Field1": 100
}]
},
{
"TB3": [{
"object": "TB3",
"Field2": 1300
}]
}]
预计:
[{
"TB1": [{
"Name": 200
},
{
"Name": 220
}
]
},
{
"TB2": [{
"Field1": 100
}]
},
{
"TB3": [{
"Field2": 1300
}]
}]
output application/json
fun removeObject (obj) = (
(obj - "object")
)
---
payload map (o) -> {
(o mapObject (v,k) -> {
(k): (v match {
case a is Object -> removeObject(a)
case a is Array -> a map (removeObject($))
else -> v
})
})
}