使用 dataweave 2.0 在 mule 4 中使用 order by 进行转换
transformation with order by in mule 4 with dataweave 2.0
我必须按 distanceInKm 升序排列我的有效负载数组。
这是有效负载:
[{
"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,但它不起作用。我可以进行哪些更改以使其按 distanceInKm 升序排列?
您可以将 "map" 包含在一个组中,以确保您订购的已经是结果数组。见下文。
(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
作为你的标准。
我必须按 distanceInKm 升序排列我的有效负载数组。 这是有效负载:
[{
"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,但它不起作用。我可以进行哪些更改以使其按 distanceInKm 升序排列?
您可以将 "map" 包含在一个组中,以确保您订购的已经是结果数组。见下文。
(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
作为你的标准。