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

使用jq工具从数组型嵌套JSON文件中提取name字段值的问题求助

解决jq无法从数组JSON中提取name字段的问题

问题背景

你尝试用jq '.name' input.json提取JSON中的name字段,却遇到错误:

jq: error (at input.json:100): Cannot index array with string "name"

这是因为你的JSON最外层是数组结构(被[]包裹),而不是单个JSON对象,jq无法直接用对象的键名去索引数组。

解决方案

根据你的需求(数组中只有一个对象),可以用以下两种方式提取:

1. 直接访问数组第一个元素的name字段

如果确定数组里只有一个元素,直接定位到第一个元素再取name:

jq '.[0].name' input.json

执行后会输出:

"storageaccountfortest"

2. 遍历数组所有元素提取name(通用场景)

如果数组后续可能有多个元素,想要提取所有对象的name值,用管道符遍历数组:

jq '.[] | .name' input.json

这个命令会逐个输出数组中每个对象的name字段值。

为什么原命令报错?

原命令.name是针对单个JSON对象的取值方式,但你的JSON根节点是数组,必须先处理数组(要么指定索引,要么遍历所有元素),才能访问数组内部对象的字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 20:37:33