gpt4 book ai didi

arrays - 使用 JMESPath 过滤一个简单的数组

转载 作者:行者123 更新时间:2023-12-03 15:56:56 25 4
gpt4 key购买 nike

我正在尝试过滤从 Azure CLI 获得的普通列表,并且正在努力构建一个正确过滤列表的查询。一个封装了我要完成的任务的示例是尝试过滤列表 [1, 2, 3, 4, 5]并试图获得大于 2 的所有值。

使用 jq,我可以这样做:echo "[1, 2, 3, 4, 5]" | jq "map(select(. > 2))"给予 [3, 4, 5 ] .据我所知,问题在于无法在 JMESPath 中指示“当前元素”,而没有特定的键可供引用。

我将如何使用 JMESPath 查询过滤像这样的简单列表?

最佳答案

这可以使用当前节点 token @ 来完成。作为过滤器表达式的一部分。一个注意事项是您必须用反引号将 JMESPath 中的文字括起来。否则会导致表达式无效。这是从数组中获取所有大于 2 的数字的过滤器:

[?@ > `2`]

对于数字以外的对象数组,您可以使用任何 built in functions在过滤器表达式中以及当前节点标记 @过滤。这将为您提供所有包含 substring 的字符串:
[?contains(@, `substring`)]

关于arrays - 使用 JMESPath 过滤一个简单的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54241318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com