使用JQ提取JSON文件中Firstname字段报错,求解决方案
JQ提取用户Firstname报错的修正方案
你的错误在于JQ选择器的定位逻辑不对:
- 你用的
[].Firstname是试图直接对JSON顶层结构执行数组遍历,但你的JSON顶层是包含users数组的对象,不是数组本身,所以JQ会报错“无法用字符串索引数组”。
假设你的JSON结构是类似这样:
{ "users": [ {"Firstname": "Rolo"}, {"Firstname": "Ernest"}, {"Firstname": "Juls"} ] }
正确的命令应该先定位到users数组,再遍历其中的元素提取Firstname:
cat file.json | jq '.users[].Firstname'
或者更简洁的写法(无需cat,让JQ直接读取文件):
jq '.users[].Firstname' file.json
执行后就能得到你想要的结果:
"Rolo"
"Ernest"
"Juls"
内容的提问来源于stack exchange,提问作者Roland C
相关产品推荐
相关产品推荐

