这是输入数组,其中包含多个具有键值对的对象。
[
{
"countHouses": 1,
"Name": "Bob",
"Unique_ID": "12345"
},
{
"countFlats": 4,
"Name": "Bob",
"Unique_ID": "12345"
},
{
"countStadiums": 5,
"Name": "Efac",
"Unique_ID": "31124"
},
{
"countStadiums": 1,
"Name": "Bob",
"Unique_ID": "12345"
},
{
"countFlats": 1,
"Name": "Efac",
"Unique_ID__c": "31124"
},
{
"countHouses": 245,
"Name": "Efac",
"Unique_ID": "31124"
},
{
"countHouses": 300,
"Name": "Pox",
"Unique_ID": "18110"
}
]
要求是根据 Unique_ID 字段将这些对象合并为数组中的单个对象。另外,如果只有一个可用对象,则该特定对象也应包含在其他两个值为 0 的计数键中。
最终回应
[
{
"countHouses": 1,
"countFlats": 4,
"countStadiums": 1,
"Name": "Bob",
"Unique_ID": "12345"
},
{
"countHouses": 245,
"countFlats": 1,
"countStadiums": 5,
"Name": "Efac",
"Unique_ID": "31124"
},
{
"countHouses": 300,
"countFlats": 0,
"countStadiums": 0,
"Name": "Pox",
"Unique_ID": "18110"
}
]
尝试这样:
%dw 2.0
output application/json
---
payload groupBy ($.Unique_ID) pluck $[0] map{
"countHouses": $.countHouses default 0,
"countFlats": $.countFlats default 0,
"countStadiums": $.countStadiums default 0,
"Name": $.Name,
"Unique_ID": $.Unique_ID
}