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

如何用JQ同时提取JSON的summary与非OK状态的checks?

问题:同时提取JSON中的summary和非OK状态的checks条目

假设返回的JSON数据可通过以下bash命令定义:

export json_string='{
    "summary": "1 failure",
    "checks": [
        {
            "id": "check1",
            "status": "OK"
        },
        {
            "id": "check2",
            "status": "FAILED"
        },
        {
            "id": "check3",
            "status": "CONFIG_WARNING"
        }
    ]
}'

需求为:同时提取summary字段和状态不为OK的checks条目;若不存在非OK状态的条目,则仅返回summary。

目前已能通过以下命令单独筛选出非OK状态的checks:

echo "$json_string" | jq '.checks | .[] | select(.status != "OK")'

最终解决方案

参考采纳的答案,使用以下命令可得到符合需求的输出格式:

echo "$json_string" | jq '{"summary": .summary, "checks":[.checks[] | select(.status != "OK")]}'

该命令会构造一个新的JSON对象,包含原数据的summary字段,以及仅保留状态非OK的checks条目数组;当没有符合条件的checks时,checks字段会显示为空数组,可满足核心需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 10:37:05