当前位置: 首页 > 知识库问答 >
问题:

在mule 4中使用dataweave 2.0进行订单转换

商昂然
2023-03-14

我要让我的有效载荷数组按距离Km升序排列。这是有效载荷:

 [{
   "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,但这不起作用。我可以做哪些更改以使其在升序距离InKm?

共有1个答案

胡越
2023-03-14

您可以将“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。距离作为您的标准。

 类似资料:
  • 我一直试图从Salesforce查询转换日期字段,并将该记录插入到Oracle表中。我在格式上遇到了很多麻烦,因为输入被视为字符串,所以Date{format:“yyyy-mm-dd''hh:mm:ss”}不起作用。 最终我找到了一个答案,我想在这里分享它,因为它是一个字符串,可以通过字符串操作来解决。下面是我的答案:created_at:(payload.createddate splitby“

  • 问题内容: 当我编写HQL查询时 一切安好。但是,当我编写标准时 我有一个例外 如果我想使用“标准和顺序”,我应该如何表达我的“顺序”? 问题答案: 您需要为创建别名。你是这样做的。

  • 使用指南 - 数据报告 - 转化分析 - 如何进行订单分析 对于电商类的网站,您可以使用百度统计的订单分析报告,用于分析PC、无线网站、APP内H5页面的购买活动。通过订单报告可以了解商品交易信息、订单数,金额、转化率、投资回报率等指标,并在其他报告(如趋势、来源等)中对订单指标进行交叉分析。可监控的指标包括:订单数,订单金额、订单转化率、订单投资回报率等。 具体使用流程如下: 在百度统计【应用中

  • 我需要做一个50个座位的公交车预订系统,只使用编程的基本知识。注意:我不能使用数组或字符串,所以我声明了50个布尔变量,以了解座位是否已经预订。这里的问题是:我不知道如何将用户输入的数字与布尔座位变量相关联 例如:如果用户输入数字'17',更改'seat17'值为false有人能帮我吗?

  • 网页端开启“订单分拣”插件后,手机端登录亿景智图APP,默认进入分拣状态,在搜索框中输入 地址,可完成地址所属区域的分拣操作,适用于外勤人员。点可切换到地图编辑状态。

  • 我有一个primefaces,点击按钮就会弹出。当我更改订单列表中项目的顺序,并单击弹出窗口上的“保存订单”按钮时,我没有看到带有更改顺序的列表。我的密码- 在豆子里: 请告诉我代码可能有什么问题。