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

如何使用jq对JSON解析结果按数组元素分组展示?

解决jq按数组元素分组展示字段的问题

要实现按原数组每个元素分组展示fxid和id,并在各组间添加分隔线,你可以用以下两种jq过滤器:

方式一:简单直接(最后会多一条分隔线)

直接遍历result数组的每个元素,输出对应字段后添加分隔线:

curl <你的API地址> | jq -r '.result[] | "fxid: \(.fxid)\nid: \(.id)\n---"'
  • .result[]:遍历数组中的每一个元素
  • "fxid: \(.fxid)\nid: \(.id)\n---":用字符串插值拼接当前元素的fxid和id,换行后添加分隔线---
  • -r参数:让jq输出原始字符串,而非JSON格式的字符串

方式二:避免最后一条多余分隔线

如果不想在最后一组后出现分隔线,可使用reduce累加内容后去除末尾的分隔线:

curl <你的API地址> | jq -r 'reduce .result[] as $item (""; . + "fxid: \($item.fxid)\nid: \($item.id)\n---\n") | rtrimstr("---\n")'
  • reduce .result[] as $item (""; ...):初始化空字符串,逐个处理数组元素并累加内容
  • rtrimstr("---\n"):移除最后累加的分隔线和换行符

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 13:26:25