使用 JMESPath 删除 null 值

Remove null values using JMESPath

提问人:coder 提问时间:5/5/2023 最后编辑:β.εηοιτ.βεcoder 更新时间:5/6/2023 访问量:189

问:

[
  {
    "key": 111,
    "Students_Info": [{
      "recordId": 111
    }],
    "Adress_Info": {
      "position": 1,
      "city": null
    }
  },
  {
    "key": 222,
    "Students_Info": [{
      "recordId": 222
    }],
    "Adress_Info": {
      "position": 2,
      "city": "Delhi"
    }
  }
]

如何使用 JMESPath 查询筛选值并将其从 JSON 中删除?null

json null jmespath

评论

0赞 β.εηοιτ.βε 5/5/2023
您到底要删除什么?你能提供一个想要的输出吗?
1赞 β.εηοιτ.βε 5/5/2023
有一个有效的JSON输入也很好,目前,它不是,因为没有引用。Delhi
0赞 coder 5/6/2023
@β.εηοιτ.βε- 感谢您的指出。更新了,我想获得具有城市名称的输出并删除具有城市名称 null Address_Info对象

答:

0赞 β.εηοιτ.βε 5/6/2023 #1

如果要过滤掉为空的对象,可以使用过滤器投影Adress_Info.city

查询:

[?Adress_Info.city]

在给定的输入上将产生:

[
  {
    "key": 222,
    "Students_Info": [
      {
        "recordId": 222
      }
    ],
    "Adress_Info": {
      "position": 2,
      "city": "Delhi"
    }
  }
]

评论

0赞 coder 5/6/2023
这是一个巨大的阵列,这是其中之一。我需要使用不同的键从所有对象中全局删除。因此,在这种情况下,单个过滤器不是一个好的选择