使用dataweave 2.0在mule 4中使用order by进行转换
我必须按照distanceInKm的升序制作有效负载阵列。 这是有效载荷:使用dataweave 2.0在mule 4中使用order by进行转换,mule,mulesoft,mule4,Mule,Mulesoft,Mule4,我必须按照distanceInKm的升序制作有效负载阵列。 这是有效载荷: [{ "id": 1111, "accountNumber": 17694838, "pickup": { "time": 1580637133000, "distanceInKm": 4.3 } },{ "id": 2222, "accountNumber": 17694838, "pickup": { "time": 1580637133000,
[{
"id": 1111,
"accountNumber": 17694838,
"pickup": {
"time": 1580637133000,
"distanceInKm": 4.3
}
},{
"id": 2222,
"accountNumber": 17694838,
"pickup": {
"time": 1580637133000,
"distanceInKm": 2.0
}
},{
"id": 3333,
"accountNumber": 17694838,
"pickup": {
"time": 1580637133000,
"distanceInKm": 4.3
}
},{
"id": 4444,
"accountNumber": 17694838,
"pickup": {
"time": 1580637133000,
"distanceInKm": 2.0
}}]
转变:
%dw 2.0
output application/json
---
payload map (payload01, index) -> {
id: payload01.id,
Account: payload01.accountNumber,
pickup: {
time: payload01.pickup.time,
distance: payload01.pickup.distanceInKm
}
} orderBy (payload01.pickup.distanceInKm)
我正在进行必要的转换,之后我将应用orderBy,但这不起作用。我可以做哪些更改以升序距离为单位?您只需将“地图”括在一个组中,以确保您所订购的已经是结果数组。见下文
(payload map (payload01, index) -> {
id: payload01.id,
Account: payload01.accountNumber,
pickup: {
time: payload01.pickup.time,
distance: payload01.pickup.distanceInKm
}
}) orderBy $.pickup.distance
这将导致按distanceInKm按升序排列的数组。如果您想按降序排列,则可以使用-$.pickup.distance
作为标准