簡體   English   中英

使用 dataweave 2.0 在 mule 4 中按順序進行轉換

[英]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 升序排列?

您可以將您的“地圖”包含在一個組中,以確保您訂購的內容已經是結果數組。 見下文。

(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作為你的標准。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM