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

如何从curl返回的JSON数组中提取最早上传的应用条目?

解析curl响应并获取最早的uploaded_at条目

错误原因

你的curl请求返回的是JSON数组(外层由[]包裹),直接使用jq -r '.uploaded_at'会报错,因为数组无法通过字符串uploaded_at索引,必须先遍历数组内的每个对象。

正确命令示例

1. 获取所有uploaded_at字段值

curl -u "xxx:xxx" -X GET "$url" | jq -r '.[].uploaded_at'
  • .[].uploaded_at:遍历数组中的每个元素,提取每个对象的uploaded_at字段
  • -r:输出原始字符串(不带JSON引号)

2. 排序后获取最早的日期值

由于返回的日期格式是YYYY-MM-DD HH:MM:SS UTC,字符串排序顺序与时间顺序一致,可直接排序后取第一个:

curl -u "xxx:xxx" -X GET "$url" | jq -r '.[].uploaded_at' | sort | head -n 1

3. 获取包含最早uploaded_at的完整对象

如果需要保留整个条目信息,而非仅日期:

curl -u "xxx:xxx" -X GET "$url" | jq 'sort_by(.uploaded_at) | first'
  • sort_by(.uploaded_at):按uploaded_at字段对数组排序
  • first:取排序后的第一个元素(即最早的条目)

关于文件写入的问题

你尝试的-d @test.txt是用于POST请求提交数据的参数,不适用于GET请求。要将curl响应写入文件,应使用-o参数:

curl -u "xxx:xxx" -X GET "$url" -o response.json

之后可直接用jq处理该文件:

jq 'sort_by(.uploaded_at) | first' response.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 13:09:49