使用jq根据键从JSON文档中提取内部字段值

时间:2019-08-12 11:00:57

标签: json jq

我有一个具有以下格式的json文件。我想基于name值从内部提取id字段值。 因此,如果我将id值传递为99900,它将返回DEF。如何使用jq做到这一点。

{
  "11213-99900": {
    "cid": "11213-99900",
    "name": "DEF",
    "id": "99900"
  },
  "11213-12345": {
    "cid": "11213-12345",
    "name": "ABC",
    "id": "12345"
  },
  "11272-23456": {
    "cid": "11272-23456",
    "name": "YXX",
    "id": "23456"
  }
}

1 个答案:

答案 0 :(得分:3)

使用select

$ jq -r --arg q 99900 '.[] | select(.id == $q).name' file
DEF