You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JSONata按指定键对JSON对象数组进行分组

用JSONata对JSON数组按指定键分组的解决方案

没问题!要实现你描述的按对象内指定键分组JSON数组的需求,JSONata提供了非常简洁的实现方式,用$group()函数就能一步到位。

核心表达式

针对你的需求,直接使用这个JSONata表达式即可:

$group($, "car")

示例验证

我们拿你给出的输入数组来测试:

输入JSON

[
  { "car" : "audi", "color" : "blue", "reg" : 133434 },
  { "car" : "benz", "color" : "red", "reg" : 134444 },
  { "car" : "audi", "color" : "red", "reg" : 134884 }
]

把上面的JSONata表达式应用到这个输入上,就能得到你期望的分组结果:

输出JSON

{
  "audi": [
    { "car": "audi", "color": "blue", "reg": 133434 },
    { "car": "audi", "color": "red", "reg": 134884 }
  ],
  "benz": [
    { "car": "benz", "color": "red", "reg": 134444 }
  ]
}

简单解释

  • $ 在JSONata里代表整个输入数据(这里就是你的JSON数组)
  • $group() 是JSONata专门用于分组的函数,第一个参数是要分组的集合,第二个参数是分组依据的键(可以是字段名,也可以是更复杂的路径表达式)
  • 函数会自动遍历数组,把具有相同键值的元素归为一组,最终生成一个以键值为属性名、对应元素数组为属性值的对象

如果你需要按其他字段分组,只需要把第二个参数改成对应的字段名就行,比如换成"color"就能按颜色分组啦。

内容的提问来源于stack exchange,提问作者ARUN KUMAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:59:07