使用内部数组将 json 的数组转换为单个 json

Convert array of json into single json with inner array

我从系统收到一条格式为 json 的消息,我想执行转换以获取以下消息

源消息:

    [
{
    "OPERATING_COMPANY": "xx",
    "STORE_CLOSING_TIME": "2019-01-03T22:00:00",
    "BATCH_ID": 1812,
    "STORENUMBER": 1197,
    "PROCESS_STATUS": "P"
},
{
   "OPERATING_COMPANY": "xx",
    "STORE_CLOSING_TIME": "2019-01-04T18:00:00",
    "BATCH_ID": 1812,
    "STORENUMBER": 1197,
    "PROCESS_STATUS": "P"
},
{
    "OPERATING_COMPANY": "xx",
    "STORE_CLOSING_TIME": "2019-01-03T22:00:00",
    "BATCH_ID": 1314,
    "STORENUMBER": 1198,
    "PROCESS_STATUS": "P"
},
{
    "OPERATING_COMPANY": "xx",
    "STORE_CLOSING_TIME": "2019-01-04T18:00:00",
    "BATCH_ID": 1314,
    "STORENUMBER": 1198,
    "PROCESS_STATUS": "P"
}]

预期输出

    [
{
    "OPERATING_COMPANY": "xx",
    "STORE_CLOSING_TIME": ["2019-01-03T22:00:00","2019-01-04T18:00:00"],
    "BATCH_ID": 1812,
    "STORENUMBER": 1197,
    "PROCESS_STATUS": "P"
},
{
   "OPERATING_COMPANY": "xx",
    "STORE_CLOSING_TIME": ["2019-01-03T22:00:00","2019-01-04T18:00:00"],
    "BATCH_ID": 1812,
    "STORENUMBER": 1198,
    "PROCESS_STATUS": "P"
}]

我是 dataweave 的新手,尝试过使用 map 但无法理解如何获得结果。

在数据编织中尝试以下操作:

%dw 1.0
%output application/json
%var time=(payload map $.STORE_CLOSING_TIME)  distinctBy $.STORE_CLOSING_TIME 
---
(payload map {

 "OPERATING_COMPANY": $.OPERATING_COMPANY,
 "STORE_CLOSING_TIME": time,
 "BATCH_ID": $.BATCH_ID,
 "STORENUMBER": $.STORENUMBER,
 "PROCESS_STATUS": $.PROCESS_STATUS 
    }) distinctBy $.STORENUMBER 

输出:

[
    {
        "OPERATING_COMPANY": "xx",
        "STORE_CLOSING_TIME": [
            "2019-01-03T22:00:00",
            "2019-01-04T18:00:00"
        ],
        "BATCH_ID": 1812,
        "STORENUMBER": 1197,
        "PROCESS_STATUS": "P"
    },
    {
        "OPERATING_COMPANY": "xx",
        "STORE_CLOSING_TIME": [
            "2019-01-03T22:00:00",
            "2019-01-04T18:00:00"
        ],
        "BATCH_ID": 1314,
        "STORENUMBER": 1198,
        "PROCESS_STATUS": "P"
    }
]