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

如何使用jq从嵌套JSON数组中提取age字段值?

使用jq提取嵌套JSON数组中的age字段值

嘿,这事儿不难,我来给你一步步讲清楚怎么用jq搞定这个嵌套数组里的age值提取!

首先先明确你的JSON结构是两层数组嵌套,最里面才是包含目标字段的对象:

[ [ { "name": "x", "age": "y", "class": "z" } ] ]

基础提取命令

针对这个结构,最直接的jq命令就是:

jq '.[0][0].age'

我给你拆解下每个部分的作用:

  • .[0]:先定位到外层数组的第一个元素(也就是里面那层数组)
  • .[0]:接着定位到内层数组的第一个元素(就是包含age的那个对象)
  • .age:最后提取这个对象里的age字段值

实际使用示例

如果你的JSON内容存在data.json文件里,执行命令:

jq '.[0][0].age' data.json

或者直接通过管道传递JSON字符串:

echo '[ [ { "name": "x", "age": "y", "class": "z" } ] ]' | jq '.[0][0].age'

执行后会输出带引号的"y",要是想得到不带引号的纯文本值,加上-r参数即可:

jq -r '.[0][0].age' data.json

扩展场景:内层数组有多个对象

如果内层数组里有多个包含age字段的对象,比如:

[ [ { "name": "x", "age": "y" }, { "name": "a", "age": "b" } ] ]

要一次性提取所有age值,可以用这个命令:

jq '.[0][] .age'

这样会逐行输出每个对象的age值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:05:05