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

JQ筛选子键匹配时仅返回对应父字段及匹配子项的实现方法

问题原因

你原来的写法仅筛选出了包含至少一个匹配子项的父级对象,但后续提取.line_items[].quantity时会遍历该父级下所有子项,因此会返回不匹配子项的quantity值。

正确jq命令
jq '.[] | .id as $pid | .line_items[] | select(.catalog_object_id == "VJXWCBDL") | [ $pid, .quantity ]' test.json
命令逻辑说明
  • 先用.[]遍历最外层数组的每一个父级元素
  • 将当前父级的id字段存为变量$pid,避免进入子项上下文后丢失父级数据
  • 遍历当前父级下的所有line_items子项
  • 仅保留catalog_object_id等于VJXWCBDL的子项
  • 最终拼接为[父级id, 匹配子项quantity]的输出格式,和你预期的结果完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:45:04