json - 从 json 文件中提取值

标签 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

但是正确的答案提取键和值,我只会值(不再操作字符串)

谢谢你的帮助

最佳答案

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

输出到变量id:

f34fdasdfaa4364adc42b3a57

关于json - 从 json 文件中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50659384/

相关文章:

c# - 返回 JSON 对象 (ASP.NET WebAPI)

bash - 将 AWS CLI 结果存储到 bash 变量

json - 如何使用 JQ 选择多个键

arrays - 组合对象流中的数组

javascript - 带有 reviver 参数的 JSON.parse 将对象字段列入白名单

c# - 将 JSON 表示为 C# 类

c# - 将json保存到mysql数据库

bash - 需要使用 shell 脚本从文件中替换行的特定部分

r - 调度属于 R 包的函数

bash 合并多行