gpt4 book ai didi

json - jq:无法用字符串索引数组

转载 作者:IT老高 更新时间:2023-10-28 12:49:44 30 4
gpt4 key购买 nike

我在一个文件中有以下内容(我将其称为“myfile”):

[{
"id": 123,
"name": "John",
"aux": [{
"abc": "random",
"def": "I want this"
}],
"blah": 23.11
}]

如果文件没有第一个[和最后一个],我可以解析如下:

$ cat myfile | jq -r '.aux[] | .def'
I want this
$

但使用 [] 我得到:

$ cat myfile | jq -r '.aux[] | .def'
jq: error: Cannot index array with string

如何使用 jq 处理 [] ? (我确信我可以用不同的工具解析它们,但我想学习 jq 的正确用法。

最佳答案

应该是:

jq '.[].aux[].def' file.json

.[] 遍历外部数组,.aux[] 然后遍历每个节点的 aux 数组,.def 打印他们的 .def 属性。

这将输出:

"I want this"

如果你想去掉双引号,请将 -r (--raw) 传递给 jq:

jq -r '.[].aux[].def' file.json

输出:

I want this

关于json - jq:无法用字符串索引数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34543829/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com