当前位置:  开发笔记 > 前端 > 正文

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

如何解决《jq:无法使用字符串索引数组》经验,为你挑选了1个好方法。

我在文件中有以下内容(我将其称为"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.



1> hek2mgl..:

它应该是:

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

.[]迭代外部数组,.aux[]然后遍历aux每个节点的数组并.def打印其.def属性.

这将输出:

"I want this"

如果你想摆脱双引号pass -r(--raw)jq:

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

输出:

I want this

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有