如何使用JSONATA合并相同键名的对象并累加count值
使用JSONATA合并JSON数组中同键对象并累加count值
你可以通过JSONATA的分组与聚合功能实现需求,具体实现方式如下:
输入示例
[ { "name" : "t1", "count": 1 }, { "name":"t1", "count": 2 }, { "name":"t2", "count": 4 } ]
预期输出(已修正原示例中的语法错误)
[ { "name" : "t1", "count": 3 }, { "name" : "t2", "count": 4 } ]
JSONATA表达式
$aggregate( $group(@, "name"), function($group) { { "name": $group.key, "count": $sum($group.items.count) } } )
表达式说明
$group(@, "name"):将原数组按name字段分组,生成以name值为键、对应对象列表为值的分组结果$aggregate(...):遍历每个分组,对组内数据执行聚合计算$sum($group.items.count):对分组内所有对象的count值求和,得到合并后的总计数
内容的提问来源于stack exchange,提问作者Ashish Sharma
相关产品推荐
相关产品推荐

