相关疑难解决方法(0)

bash:迭代索引选择的JSON数组的成员

我正在使用jq解析JSON文件,将一系列中的每个JSON数组提取到一个shell数组中.

我当前的代码如下所示:

for ((i = 0; i < ${#nvars[@]}; i++)); do
    v1=($(cat $INPUT | jq '."config"[i]."var1"[]'))
    echo $v1
done
Run Code Online (Sandbox Code Playgroud)

错误信息:

error: i is not defined
Run Code Online (Sandbox Code Playgroud)

我也换了

v1=($(cat $INPUT | jq '."config"[i]."var1"[]'))
Run Code Online (Sandbox Code Playgroud)

v1=($(cat $INPUT | jq '."config"[$i]."var1"[]'))
Run Code Online (Sandbox Code Playgroud)

还是行不通.任何的想法?任何帮助表示赞赏!


编辑:示例输入数据

{
    "config-vars":[
        {
            "var1":["v1","v2"],
            "var2":""
        },
        {
            "var1":["v3",""],
            "var2":"v4"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

linux bash shell json jq

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×1

jq ×1

json ×1

linux ×1

shell ×1