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

如何使用jq按seconds字段值对JSON数组元素进行排序

错误原因

sort_by() 是jq中专门用于数组排序的函数,你原命令中.results[].request.path.time 遍历到的是每个结果项里独立的time对象(不是数组),对单个对象调用sort_by()自然会触发类型错误。


正确实现

如果要把results数组里的所有项按照request.path.time.seconds的值升序排序,正确命令如下:

jq '.results |= sort_by(.request.path.time.seconds)' output.json

如果需要按秒数降序排序,追加reverse方法即可:

jq '.results |= (sort_by(.request.path.time.seconds) | reverse)' output.json

命令逻辑说明

  • |= 是jq的修改赋值运算符,这里表示对.results整个数组做修改
  • sort_by()的参数是数组每个元素用来排序的取值路径,即每个结果项里的秒数字段路径.request.path.time.seconds
  • 执行后输出的JSON结构完全不变,仅results数组的项顺序会按照秒数大小重新排列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:27:03