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

如何在Bash中处理JSON响应并筛选created_at为当前日期的对象

过滤JSON中指定日期对象的实现方案

首选工具:jq 轻量命令行JSON处理工具

如果是在命令行直接处理API返回结果,jq 是最高效的选择,无需编写完整脚本,一行命令即可完成过滤,非常适合管道流式处理场景。

命令示例:

# 直接对接API请求时的完整管道命令
curl <你的API请求地址> | jq --arg curr_date "$(date -I)" 'map(select(.created_at[:10] == $curr_date))'

逻辑说明:

  • date -I 会输出当前UTC日期的 YYYY-MM-DD 格式字符串,通过 --arg 参数传入jq作为变量$curr_date
  • map(select(...)) 遍历JSON数组,匹配每个元素created_at字段前10位的日期部分和当前日期一致的对象,最后保留原数组结构输出

备选方案:Python 内置模块处理

如果已经在Python代码中调用该API,可以直接用标准库完成过滤,无需额外安装依赖:

import json
from datetime import datetime

# 假设api_resp是调用API获取到的JSON字符串
raw_data = json.loads(api_resp)
# 注意created_at带Z后缀为UTC时间,需用utcnow对齐时区
today_utc = datetime.utcnow().strftime("%Y-%m-%d")
# 过滤符合条件的对象
result = [item for item in raw_data if item["created_at"].startswith(today_utc)]

注意事项

  • 时区对齐:示例中created_at带Z标识属于UTC时间,获取当前日期时必须对应UTC时区,否则会出现跨时区日期匹配错误的问题
  • 若需要输出JSON格式的过滤结果,Python侧可直接用json.dumps(result)导出,jq侧默认已经输出标准JSON格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:06:04