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

如何使用jq获取JSON中指定数组字段的前3个元素

解决方案

你当前命令返回全部元素是因为直接遍历了整个identifier数组,只需要在遍历前用jq的数组切片语法截取前3个元素即可。

场景1:保持原有输出格式(system、value各占一行)

直接在数组名后加[:3]截取前3位,命令如下:

jq -r '(.identifier[:3][] | .system, .value)'

执行后输出结果:

urn:oid:1.3.6.1.4.1.19126.3
00396185X
urn:oid:2.16.724.4.9.10.2
0831515
urn:oid:2.16.724.4.9.10.2
0831515

场景2:单条元素占一行,system和value用分隔符分隔

如果需要更易读的结构化输出,比如用制表符分隔两个字段,命令如下:

jq -r '.identifier[:3][] | "\(.system)\t\(.value)"'

执行后输出结果:

urn:oid:1.3.6.1.4.1.19126.3	00396185X
urn:oid:2.16.724.4.9.10.2	0831515
urn:oid:2.16.724.4.9.10.2	0831515

场景3:输出结构化JSON数组

如果后续还要用工具处理结果,可以输出只包含system、value字段的JSON数组:

jq '.identifier[:3] | map({system, value})'

执行后输出结果:

[
  {
    "system": "urn:oid:1.3.6.1.4.1.19126.3",
    "value": "00396185X"
  },
  {
    "system": "urn:oid:2.16.724.4.9.10.2",
    "value": "0831515"
  },
  {
    "system": "urn:oid:2.16.724.4.9.10.2",
    "value": "0831515"
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:45:04