在 LogicApp 中按日期筛选 Json

Filter Json by date in LogicApp

我有以下 json 是在逻辑应用程序中构建的,但是最终结果只能是具有最大日期的对象,也就是说,最终结果必须是每个对象只有一条记录该对象的最大日期。

[{
    "FechaUltimaCarga": "2020-09-14T14:00:07.8451571Z",
    "CollectionName": "PartOrder"
}, {
    "FechaUltimaCarga": "2020-09-14T21:00:07.8451571Z",
    "CollectionName": "PartOrder"
}, {
    "FechaUltimaCarga": "2020-09-14T14:00:07.8451571Z",
    "CollectionName": "PartOrderItem"
}, {
    "FechaUltimaCarga": "2020-09-13T17:00:07.8451571Z",
    "CollectionName": "Engineer"
}, {
    "FechaUltimaCarga": "2020-09-14T13:00:07.8451571Z",
    "CollectionName": "Engineer"
}, {
    "FechaUltimaCarga": "2020-09-13T03:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T05:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T06:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T07:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T10:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T12:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T13:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T15:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T16:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T17:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T18:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T19:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T20:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-13T22:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T03:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T04:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T05:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T06:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T07:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T09:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T10:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T12:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T13:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T14:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T15:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T19:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T20:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T21:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T22:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "FechaUltimaCarga": "2020-09-14T23:00:07.8451571Z",
    "CollectionName": "Task"
}, {
    "CollectionName": "PartOrder",
    "FechaUltimaCarga": "2020-09-13T00:00:07.8451571Z"
}, {
    "CollectionName": "PartOrderItem",
    "FechaUltimaCarga": "2020-09-13T00:00:07.8451571Z"
}, {
    "CollectionName": "PartsInStock",
    "FechaUltimaCarga": "2020-09-13T00:00:07.8451571Z"
}, {
    "CollectionName": "Engineer",
    "FechaUltimaCarga": "2020-09-13T00:00:07.8451571Z"
}, {
    "CollectionName": "Task",
    "FechaUltimaCarga": "2020-09-13T00:00:07.8451571Z"
}

]

预期结果应该是每个对象一条记录,最大日期在初始 json:

[{
    "CollectionName": "PartOrder",
    "FechaUltimaCarga": "2020-09-14T21:00:07.8451571Z"
}, {
    "CollectionName": "PartOrderItem",
    "FechaUltimaCarga": "2020-09-14T14:00:07.8451571Z"
}, {
    "CollectionName": "PartsInStock",
    "FechaUltimaCarga": "2020-09-13T00:00:07.8451571Z"
}, {
    "CollectionName": "Engineer",
    "FechaUltimaCarga": "2020-09-14T13:00:07.8451571Z"
}, {
    "CollectionName": "Task",
    "FechaUltimaCarga": "2020-09-14T23:00:07.8451571Z"
}

]

我怎样才能得到这个结果?

感谢您的帮助

我为您设计了一个 Azure Logic 应用程序工作流程:

可以将Json转成数组,然后用Filter array action过滤掉CollectionName等于PartOrder[=29=的数组项]

然后可以使用Select action to fetch the value of FechaUltimaCarga, use the inline code执行js代码比较日期,结果会return日期的最大值

然后使用 for each 遍历 json 数组,并使用 for each 中的 condition 操作将符合条件的项目添加到之前创建的空数组中。

需要重复上述操作,因为还需要过滤CollectionName等于PartOrderItemPartsInStock...

的数组项

最后可以直接将结果数组转成字符串,就是你想要的json值

我做了测试,只过滤了CollectionName等于PartOrder的数组项,结果是预期值。您可以按照我的逻辑完成逻辑应用程序工作流程。

备注

内联代码的实现需要Integration accounts.