如何在 Mulesoft Dataweave 中按日期时间排序?
How to sort by Datetime in Mulesoft Dataweave?
如何使用 Dataweave 2
对需要按日期排序的 json 数组进行排序
{
"things": [
{
"datetime": "2020-11-07T16:11:52.866Z",
"name": "foo"
},
{
"datetime": "2020-11-07T16:11:39.971Z",
"name": "bar"
},
{
"datetime": "2020-11-07T16:11:39.978Z",
"name": "baz"
}
]
}
只需使用 orderBy() 和 select 带有 date-time 的字段。
%dw 2.0
output application/json
---
payload.things orderBy ((item, index) -> item.datetime)
您可以使用orderBy
函数
%dw 2.0
output application/json
---
orderedDates: (payload.things orderBy $.datetime)
默认情况下,输出按升序排列。
如果你需要下降,你可以这样做:
%dw 2.0
output application/json
---
orderedDates: (payload.things orderBy $.datetime)[-1 to 0]
如果您获得具有不同时区的输入,您也可以使用日期时间格式。使用您当前的输入值,您可以使用 LocalDateTime
%dw 2.0
output application/json
---
orderedDates: (payload.things orderBy ($.datetime as LocalDateTime {format: "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"}))
如何使用 Dataweave 2
对需要按日期排序的 json 数组进行排序{
"things": [
{
"datetime": "2020-11-07T16:11:52.866Z",
"name": "foo"
},
{
"datetime": "2020-11-07T16:11:39.971Z",
"name": "bar"
},
{
"datetime": "2020-11-07T16:11:39.978Z",
"name": "baz"
}
]
}
只需使用 orderBy() 和 select 带有 date-time 的字段。
%dw 2.0
output application/json
---
payload.things orderBy ((item, index) -> item.datetime)
您可以使用orderBy
函数
%dw 2.0
output application/json
---
orderedDates: (payload.things orderBy $.datetime)
默认情况下,输出按升序排列。
如果你需要下降,你可以这样做:
%dw 2.0
output application/json
---
orderedDates: (payload.things orderBy $.datetime)[-1 to 0]
如果您获得具有不同时区的输入,您也可以使用日期时间格式。使用您当前的输入值,您可以使用 LocalDateTime
%dw 2.0
output application/json
---
orderedDates: (payload.things orderBy ($.datetime as LocalDateTime {format: "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"}))