使用select仅过滤部分输入

时间:2017-08-11 10:12:33

标签: json edit jq in-place

给出这样的输入:

{
  "type": "collection",
  "foo": "bar",
  "children": [
    {
      "properties": {
        "country": "GB"
      },
      "data": "..."
    },
    {
      "properties": {
        "country": "PL"
      },
      "data": "..."
    }
  ]
}

如何使用jq保留所有JSON结构,但使用select()过滤掉一些孩子。例如,如果我只想返回国家GB的孩子,我希望得到以下结果:

{
  "type": "collection",
  "foo": "bar",
  "children": [
    {
      "properties": {
        "country": "GB"
      },
      "data": "..."
    }
  ]
}

如果我只想要孩子,.children[] | select(.properties.country == "GB")这很容易,但不会保留其余的JSON。

0 个答案:

没有答案