首页 > 解决方案 > 使用 bash 从 JSON 中提取值

问题描述

{
  "test1": {
    "type": "string",
    "value": "foo"
  },
  "test2": {
    "type": "string",
    "value": "bar"
  }
}

在像上面这样的 json 中,我需要提取以下详细信息。假设我必须同时提取键和值。

test1=foo

测试2=酒吧

无论如何这可以通过bash实现吗?

标签: jsonbashvariablesscriptingjq

解决方案


找到了答案。您可以通过以下代码来完成。

jq -r 'keys[] as $k | "\($k) \(.[$k].value)"' tmp.json

推荐阅读