将json解析为变量并从该变量中获取值到另一个变量

时间:2017-09-16 02:27:07

标签: json shell

这不仅仅是解析json。我正在使用curl从我获取json格式的地方点击一个url并且我想将json格式存储在变量中。举个例子:我有一个像这样的json格式:

[ {

    "abc": "abc.jsonTest.server.target",
        "bcd": [
                [
                66,
                123546789
                ],
                [
                null,
                165423579
                ]

        ]

}
]

我想将这个json存储在像“y”这样的变量中,并从该变量中获取66并存储在变量“x”中。
我试过了

x= $(($y | jq .[0] | jq '.bcd[0]' | jq .[0]))
echo $y

但这不起作用。

1 个答案:

答案 0 :(得分:0)

尝试这样,首先设置y

$ y='[{                           

    "abc": "abc.jsonTest.server.target",
    "bcd": [
        [
            66,
            123546789
        ],
        [
            null,
            165423579
        ]

    ]

}]'

测试提取值:

$ echo $y | jq '.[].bcd[0][0]'

如果可行则将其保存到x

$ x=$(echo $y | jq '.[].bcd[0][0]')

x现在应该包含66

$ echo $x
66