JSONata处理多层JSON内数组报错:无法按周分组求和
解决方案
问题根源是你直接取$expected_input.week得到的是所有周数组成的数组,JSONata不允许用数组作为对象的键。需要先定位到目标数据数组query_one,再沿用原有的分组求和逻辑。
正确的JSONata表达式如下:
{ "sales": query_one.{ week: { "amount": $sum(amount.$number()) } } }
如果需要用变量简化代码,也可以写成:
( $target_data := query_one; { "sales": $target_data.{ week: { "amount": $sum(amount.$number()) } } } )
说明
- 先通过
query_one定位到需要处理的数组数据; - 使用JSONata的对象分组语法(数组后跟
.{键名: 处理逻辑}),自动按week字段分组; - 对每组内的
amount转换为数字后求和,得到每周的销售额总和。
内容的提问来源于stack exchange,提问作者bec
相关产品推荐
相关产品推荐

