基于内部对象的值等于外部对象的值来过滤对象数组

时间:2018-02-21 21:39:10

标签: json select jq

我有一些这样的数据:

{
  "foo": "bar",
  "stuff": [
    {
      "foo": "baz"
    },
    {
      "foo": "bar"
    }
  ]
}

我想让stuff中的对象与外部对象具有相同的foo值。所以在这种情况下我想得到:

{
  "foo": "bar"
}

如何使用jq

执行此操作

1 个答案:

答案 0 :(得分:5)

jq 方法:

jq '.foo as $foo | .stuff[] | select(.foo == $foo)' file.json