从json文件中提取值

时间:2018-06-02 17:21:03

标签: json bash jq

我有一个从API输出的文件,它包含一个JSON。

{
    "result": {
        "id": "f34fdasdfaa4364adc42b3a57",
        "modified_on": "2018-06-02T17:08:17.106435Z"
    },
    "success": true
}

我只需要id的值(在我的例子中是f34fdasdfaa4364adc42b3a57)

我会用bash做的:

#!/usr/bin/env bash

#Pseudocode
id=$(grep -Po '"id":.*?[^\\]",' id.txt)
# /Pseudocode
curl -X DELETE "https://www.example.com/delete/$id"

我确实找到了以前的答案并得到了这个:Parsing JSON with Unix tools

但正确答案提取键和值,我只会重视(不再操纵字符串)

感谢您的帮助

1 个答案:

答案 0 :(得分:9)

id=$(jq -r '.result.id' id.txt)

输出到变量id

f34fdasdfaa4364adc42b3a57