如何过滤json子数组中的项目?

例如,有了这个:

{
  "country": "Australia",
  "cities": [
    "Melbourne",
    "Sydney",
    "Brisbane",
    "Perth"
  ]
}

我需要过滤掉“布里斯类”和“珀斯”才能获得。
{
  "country": "Australia",
  "cities": [
    "Melbourne",
    "Sydney"
  ]
}


我尝试了 select(something|test("Brisbane|Perth")|not) 的不同组合但没有成功。

最佳答案

你可以使用减法:

jq '.cities -= ["Perth", "Brisbane"]'

输出:

{
  "country": "Australia",
  "cities": [
    "Melbourne",
    "Sydney"
  ]
}

关于arrays - 过滤掉子数组中的条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54669497/

10-12 21:24